【问题标题】:JavaScript - Math.random() - parameterJavaScript - Math.random() - 参数
【发布时间】:2023-04-11 02:05:01
【问题描述】:

在Math.random() 中添加参数有什么变化?

例如:

Math.random() == Math.random(1234)

【问题讨论】:

标签: javascript math random


【解决方案1】:

Math.random 不接受参数。

如果要在 2 个区间(a 和 b)之间生成随机数,可以使用公式:

math.random()*(b-a)+a

【讨论】:

  • 为什么最后加上+a?我不明白为什么这很重要。输入 Math.floor(Math.random() * (100-1)) 会给你一个介于 1 和 100 之间的数字...
【解决方案2】:

阅读specification:

15.8.2.14 随机( )

返回一个带正号的数值,大于 或等于 0 但小于 1,选择 随机或伪随机 近似均匀分布 在该范围内,使用 依赖于实现的算法或 战略。 此功能不需要 论据。

【讨论】:

  • 突出显示的相关部分:)
【解决方案3】:

什么都没有。 Javascript 中没有 Math.random 的种子。函数调用中的任何内容都将被丢弃。

【讨论】:

    【解决方案4】:

    没有官方参数。看看这里:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/random

    这种混乱是可以理解的。由于它来自 C / Java,因此有几个站点在该函数中有一个种子。有关此忽略参数的更多信息,请点击此处:Math.random() - Not random

    如果您想要一个更好的随机数,请从这里获取一个 http://www.random.org/clients/http/ - 您需要将它包装在一些基于服务器的客户端中 - 请参阅此处了解更多信息 Cross domain ajax request from javascript file without help of server side code

    更新:向 random.org 的创建者发送电子邮件 - 他回答说他正在研究 jsonp 实现......

    【讨论】:

      【解决方案5】:

      它会忽略传递的参数。

      【讨论】:

        【解决方案6】:

        它没有 - Math.random() 不带任何参数... :)

        【讨论】:

        • 我怎样才能做出更强的随机性或其他随机性?
        • 一个“更强的随机”?恐怕你已经失去了我......如果你的意思是在不同范围之间随机,请查看Parkyprg的答案。
        猜你喜欢
        • 2011-07-31
        • 1970-01-01
        • 2017-02-19
        • 2018-06-03
        • 2013-07-15
        • 1970-01-01
        • 2010-11-06
        • 2017-05-03
        • 1970-01-01
        相关资源
        最近更新 更多