【发布时间】:2013-07-19 20:48:52
【问题描述】:
我知道如果你这样做Math.random(),它会返回一个介于 0(含)和 1(不含)之间的随机数,但是我在哪里可以找到 JS 是如何选择返回这个数字的呢?
MDN page 不包含较低级别的代码。
根据wikipediahere,获取随机数的方法有很多,但是JS用的是哪种方法。
【问题讨论】:
-
见这里en.wikipedia.org/wiki/Pseudorandom_number_generator - 每个“随机”数字都是从一个转换为数字列表的操作列表生成的,然后是对它们的其他操作,然后是您的“随机”数字。但是这些伪生成器没有有效的随机性,因为机器内部没有任何东西是随机的!
-
ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdfrandom ( ) 返回一个带正号的 Number 值,大于或等于 0 但小于 1,随机或伪随机选择,在该范围内近似均匀分布,使用 实现依赖的算法或策略.
-
这个答案似乎有一个很好的描述:stackoverflow.com/questions/2344312/…
-
@LightStyle:见en.wikipedia.org/wiki/Hardware_random_number_generator。一个现成的实现是 Linux 系统上的特殊 /dev/random 设备。
标签: javascript