2015年8月8日

js生成随机数


切图网在做一个html5小游戏的时候,需要用到js生成随机数。游戏大概是这样的,一个微信场景里面,一个按钮元素,不断的点击这个按钮,能够发电和让灯泡慢慢亮起来,但是发电的电量应客户的要求需要是随机的,所以要用js生成一个有范围的随机数,百度获得了下面代码,亲测真实有效。

在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));

微信扫一扫二维码访问