阅读 49

JavaScript中Math.random()方法生成随机数的通用函数

Math.random()方法返回介于0 ~ 1 的一个随机数,不包括0和1,对于一些场景,这样的返回值很有用。比如,新闻网站用于随机显示新闻事件,套用下面的公式,就可以利用Math.random()方法从某一范围内随机选择一个值。

value = Math.floor(Math.random() * 范围值 + 第一个可能的值);

因为Math.random()总的返回一个小数值,用这个小数值乘以以个整数,然后再加上一个整数,结果仍然为一个小数。上面公式中用到了 Math.floor() 方法,将小数向下取整,取得我们需要的随机整数值。

举2个例子,我们需要取得1 ~ 10 的随机整数:

var randomNum = Math.floor(Math.random() * 10 + 1 ); 

console.log(randomNum); //介于1和10之间的随机数(包括1和10)。总共有10个值的可能(1~10),而第一个可能的值是1.。如果是2到10 的数,就是

 

var randomNum = Math.floor(Math.random() * 9 + 2 ); 

console.log(randomNum); //介于2和9之间的随机数(包括2和9)。从2到10总共有9个数,而第一个可能的值是2。

根据以上方法,抽离出一个比较通用的函数:

function randomNum(lowerValue,upperValue){

var choices = upperValue - lowerValue + 1;
var num = Math.floor(Math.random() * choices + lowerValue );
return num;

}

函数randomNum()接受两个参数,应该返回的最小值和最大值,而最大值减去最小值再加1得到的是可能值总数,然后就套用前面的公式。前面的两个例子分别可以使用函数,如下:

randomNum(1,10); //介于1和10之间的随机数(包括1和10)

randomNum(2,9); //介于2和9之间的随机数(包括2和9)

原文:https://www.cnblogs.com/ndh074512/p/15350770.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐