首页 > 编程语言 > 详细

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

时间:2022-05-27 20:37:35      阅读:5      评论:0      收藏:0      [点我收藏+]

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)

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!