别再用JS里面的Math.random()方法生成随机数
来源:互联网 发布:刺马案 知乎 编辑:程序博客网 时间:2024/05/18 15:56
网上常能见到的一段 JS 随机数生成算法如下,为什么用 9301, 49297, 233280 这三个数字做基数?
见到这个随机数生成算法好几次了,乍看有点鸡肋本来用Math.random()就可以的事。想不清楚为什么他要用9301,49297,233280这三个数字?其中有道理吗?还是仅是随意选的三个数?但是这个组合貌似流传很广。好多小网站源码里都见到过。
原理参看这里http://www.zhihu.com/question/22818104
Google了一下这3个数字,一些说法也是人云亦云没有找到合理的解释。
var
rand = (
function
(){
var
today =
new
Date();
var
seed = today.getTime();
function
rnd(){
seed = ( seed * 9301 + 49297 ) % 233280;
return
seed / ( 233280.0 );
};
return
function
rand(number){
return
Math.ceil(rnd(seed) * number);
};
})();
console.log(rand(100))
console.log(rand(100))
console.log(rand(100))
Google了一下这3个数字,一些说法也是人云亦云没有找到合理的解释。
0 0
- 别再用JS里面的Math.random()方法生成随机数
- js中Math.random()生成指定范围数值的随机数
- js中Math.random()生成指定范围数值的随机数
- JavaScript中Math.random()方法生成随机数的通用函数
- 用Math.random()方法生成随机数
- 随机数生成Math.random()
- [JS]Math.random()随机数的二三事
- [转][JS]Math.random()随机数的二三事
- 使用Math.random生成随机数
- math.random与Random产生随机数的方法
- JS获取随机数 Math.random()
- 验证码图片链接后面为什么要加一个例如Math.random()的JS随机数生成函数
- JS如何用Math.random()来生成指定范围内的随机数?
- 利用Math.Random()方法来生成随机数。(转)
- 验证scala.math.random生成的随机数是均匀分布的
- js的随机数生成器,不再使用Math.random
- Java中随机数方法的使用 math.random()
- JAVA中利用Math.random生成随机数
- Linux 下 cpu的负载
- Java多线程协调控制之wait¬ifyAll
- 各种Parentheses
- QTP/UFT11.5官方下载与安装教程及汉化
- Qt中停靠窗口的实现
- 别再用JS里面的Math.random()方法生成随机数
- html学习笔记(一)——什么是html及html标签
- 关于ios中的setNeedsDisplay和setNeedsLayout
- [LeetCOde]Reverse Nodes in k-Group
- 局域网内查找固定ip插口所绑定的ip地址(linux)
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
- Qt使用QStackedWidget实现堆栈窗口
- oracle 存储过程
- 输出1-100 以内的质数