JavaScript Math.random()函数用法详解
JavaScript Math.random()函数用法详解
Math.random()函数返回0到1之间的伪随机数,包含0,但是不包含1,[0,1}。
逻辑梳理:
-
生成m-n,包含m但不包含n的整数:
第一步算出 n-m的值,假设等于w 第二步Math.random()*w
第三步Math.random()*w+m 第四步parseInt(Math.random()*w+m, 10)。 -
生成m-n,不包含n但包含m的整数:
第一步算出 n-m的值,假设等于w 第二步Math.random()*w
第三步Math.random()*w+m 第四步Math.floor(Math.random()*w+m) + 1。 -
生成m-n,不包含n和m的整数:
第一步算出 n-m-2的值,假设等于w 第二步Math.random()*w
第三步Math.random()*w+m +1 第四步Math.round(Math.random()*w+m+1) 或者 Math.ceil(Math.random()*w+m+1) -
生成m-n,包含n和m的随机数:
第一步算出 n-m的值,假设等于w 第二步Math.random()*w
第三步Math.random()*w+m 第四步Math.round(Math.random()*w+m) 或者 Math.ceil(Math.random()*w+m)补充:Math.ceil() 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入
Math.floor() 返回小于等于数字参数的最大整数,对数字进行下舍入
Math.round() 返回数字最接近的整数,四舍五入
例子:生成600-1000的随机整数,包含600但不包含1000
复制代码代码如下:
1000-600 = 400
Math.random()*400
var num = Math.random()*400 + 600;
num = parseInt(num, 10);只需要简单的四步就可以完成。