本文总结了JavaScript中生成随机数的几种常用方法。通过Math.random()结合Math.floor、Math.ceil和Math.round函数,可以实现不同区间的随机整数生成,并分析了各方法在边界值概率分布上的差异。
JavaScript生成随机数的基础方法
具体实现代码如下所示:
<script>
function GetRandomNum(Min,Max)
{
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(1,10);
alert(num);
</script>
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
function generateMixed(n) {
var res = "";
for(var i = 0; i < n ; i ++) {
var id = Math.ceil(Math.random()*35);
res += chars[id];
}
return res;
}
1. Math.random(); 返回一个介于0到1之间的随机数,包含0但不包含1。
2. Math.floor(num); 接收一个数值参数num,返回小于或等于该数的最大整数,即取整数部分。
3. Math.round(num); 接收一个数值参数num,返回该数四舍五入后的整数值。
Math对象与取整函数详解
Math对象提供了执行数学计算所需的属性和方法。
Math.random(); 用于返回一个0到1之间的随机数,包含0但不包含1。
Math.ceil(n); 接收参数n,返回大于或等于n的最小整数。
当使用 Math.ceil(Math.random()*10) 时,主要目的是获取1到10之间的随机整数。由于Math.random()几乎不会返回0,因此获取0的概率极小。
Math.round(n); 接收参数n,返回n四舍五入后的整数值。
使用 Math.round(Math.random()) 可以均衡地获取0或1这两个随机整数。
使用 Math.round(Math.random()*10) 可以基本均衡地获取0到10之间的随机整数。需要注意的是,获取最小值0和最大值10的概率大约是其他中间值的半数。
Math.floor(n); 接收参数n,返回小于或等于n的最大整数。
使用 Math.floor(Math.random()*10) 可以均衡地获取0到9之间的随机整数。
以上介绍了JavaScript生成随机数的几种常见用法,希望能为读者提供帮助。如有任何疑问,欢迎留言,作者会及时回复。