我知道如果你做Math.random()
它会返回一个介于0(含)和1(独占)之间的随机数,但是我在哪里可以找到JS如何选择返回这个数字?
MDN page不包含较低级代码。
根据维基百科here,有很多方法可以得到一个随机数,但是哪种方法是JS使用的。
答案 0 :(得分:3)
由JavaScript引擎供应商选择他们想要使用的随机数生成器。
只要它在[0, 1>
区间内产生“随机”数字,它们就适合ECMA specification:
15.8.2.14 random()
返回带有正号的Number值,大于或等于0 但小于1,随机选择或伪随机选择近似 在该范围内均匀分布,使用 依赖于实现的算法或策略。
来源:
http://www.ecma-international.org/ecma-262/5.1/#sec-15.8.2.14
供应商没有列出他们使用的算法(据我所见),所以除非您想浏览源代码(如果可能),否则无法找到(很容易)。
(如果您要询问安全性:不要使用任何浏览器中的内置浏览器,因为它们不适用于此目的。)
答案 1 :(得分:0)
随机数生成器math.random()从当前时间播种,如在Java中。