JavaScript Math random()

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 值。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战