欢迎各位兄弟 发布技术文章
这里的技术是共享的
在JS中,并没有直接提供自定义范围内获取随机数的方法,但通过random函数的利用稍加处理即可实现此功能。
在JS中Math.random()方法返回介于0至1之间的一个随机小数,不包括0和1。显然,这个功能不能直接满足我们的需求,我们需要的是从n到m之间的随机整数。
我们先来看第一个需求的实现:获取1到10之间的随机数
/** * JS获取1到10随机数 */ function rd(){ return Math.floor(Math.random()*10+1); } alert(rd());
以上公式中,使用了Math.floor()方法。先使用Math.random()方法产生一个小数随机值,然后乘以10使个位数在1至10之间,然后使用Math.floor()方法舍去小数部分即可实现。
在以上案例的基础上我们写一个可以随机产生n至m之间的任意随机整数就非常容易了,请看以下代码
/** * JS获取n至m随机整数 * 琼台博客 */ function rd(n,m){ var c = m-n+1; return Math.floor(Math.random() * c + n); } var n = 5; var m = 100; alert(rd(n,m));
1.使用内置的随机数发生方法:
Math.random(); //该方法产生一个0到1之间的浮点数。
Math.floor(Math.random()*10+1); //1-10
Math.floor(Math.random()*24);//0-23
2.基于时间,亦可以产生随机数:
var now=new Date();
var number = now.getSeconds(); //这将产生一个基于目前时间的0到59的整数。
var now=new Date();
var number = now.getSeconds()%43; //这将产生一个基于目前时间的0到42的整数。
3.
一个相当优秀的的随机数发生器程序,能应用于许多领域。