我想知道在浏览器环境中何时播种Javascripts math.random
方法。
是吗:
A)计算机开机时
B)首次在会话中启动浏览器
C)每次启动浏览器
D)第一次打开包含math.random
的JS代码的页面时
E)每次打开包含math.random
的页面
F)第一次调用math.random()
方法时
G)其他
答案 0 :(得分:1)
来自ECMAScript:
返回带有正号的Number值,大于或等于0 但小于1,随机选择或伪随机选择近似 在该范围内均匀分布,使用 依赖于实现的算法或策略。
所以,这取决于浏览器。
由于没有任何实际差异(只要在您的网页运行时没有播种),因为种子本身就是随机的(通常基于播种时间的时间戳) ,浏览器文档稀疏但here's what Internet Explorer's one says:
当JavaScript出现时,随机数生成器会自动播种 先加载。
由于大多数其他策略会引发潜在错误,我认为您可以假设在第一次调用Math.random
和浏览器关闭之间不会有任何新的播种。