Math.random()
函数返回一个介于 0(包含)和 1(不包含)之间的浮点伪随机数。
示例
let randomNumber = Math.random()
console.log(randomNumber)
// Output: 0.16668531572829082
Math.random() 语法
Math.random()
函数的语法是:
Math.random()
random
作为静态方法,通过 Math
类名调用。
Math.random() 参数
Math.random()
函数不接受任何参数。
Math.random() 返回值
- 返回一个介于 0(包含)和 1(不包含)之间的浮点伪随机数。
示例 1:使用 Math.random()
// generating random number in range [0, 1)
var random_num = Math.random();
console.log(random_num);
输出
0.5856407221615856
注意: 上面的程序输出可能会有所不同,因为 Math.random()
会生成一个随机数。
示例 2:生成两个数字之间的随机数
// generating random number in range [x, y)
function getRandomNum(min, max) {
return Math.random() * (max - min) + min;
}
// random number in range 5(inclusive) and 10(exclusive)
var random_num = getRandomNum(5, 10);
console.log(random_num);
// random number in range 0(inclusive) and 100(exclusive)
var random_num = getRandomNum(0, 100);
console.log(random_num);
输出
6.670210050278422 70.46845725092274
在这里,我们可以看到 Math.random()
产生的随机值乘以数字差的因子进行缩放。
然后将其加到较小的数字上,以产生给定范围内的随机数。
示例 3:生成两个数字之间的随机整数
// Generating random integer in range [x, y)
// The maximum is exclusive and the minimum is inclusive
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
// random int in range 5(inclusive) and 10(exclusive)
var random_num = getRandomInt(5, 10);
console.log(random_num);
// random int in range 0(inclusive) and 100(exclusive)
var random_num = getRandomInt(0, 100);
console.log(random_num);
输出
6 46
首先,我们对 min 值进行向上取整,对 max 值进行向下取整。
在这里,我们可以看到 Math.random()
产生的随机值乘以数字差的因子进行缩放。
然后使用 Math.floor()
向下取整使其成为整数。最后,将其加到较小的数字上,以产生给定范围内的随机数。
示例 4:生成两个数字之间的随机整数(包含)
// Generating random integer in range [x, y]
// Both values are inclusive
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// random int between 5 and 10
var random_num = getRandomInt(5, 10);
console.log(random_num);
// random int between 5 and 10
var random_num = getRandomInt(0, 100);
console.log(random_num);
输出
8 100
首先,我们对 min 值进行向上取整,对 max 值进行向下取整。
在这种情况下,唯一的区别是将 1 添加到差值中,以便也包含 max 值。
另请阅读