在使用 JavaScript 程序时,有时您可能需要生成一个随机数。
例如,您可能希望在开发 JavaScript 游戏(例如猜数字游戏)时生成一个随机数。
JavaScript 有许多用于处理数字和执行数学计算的内置方法。这些方法之一就是
Math.random()
方法。
在本文中,您将学习如何使用该Math.random()
方法检索随机数。
以下是我们将介绍的内容:
如何在 JavaScript 中使用数学 -Math
对象简介
JavaScript 具有Math
内置的静态对象,它允许您执行数学计算和运算。
该Math
对象具有一些内置方法,可以更准确地执行这些操作。
Math
对象方法的一般语法如下:
Math.methodName(number);
一些最流行的方法是:
Math.round()
Math.ceil()
Math.floor()
Math.random()
让我们看一些如何实现这些方法的示例。
如果要将数字四舍五入到最接近的整数,请使用以下Math.round()
方法:
console.log(Math.round(6.2)); // 6
console.log(Math.round(6.3)); // 6
console.log(Math.round(6.5)); // 7
console.log(Math.round(6.8)); // 7
如果要将数字向上舍入到最接近的整数,请使用以下Math.ceil()
方法:
console.log(Math.ceil(6.2)); // 7
console.log(Math.ceil(6.3)); // 7
console.log(Math.ceil(6.5)); // 7
console.log(Math.ceil(6.8)); // 7
如果要将数字向下舍入到最接近的整数,请使用以下Math.floor()
方法:
console.log(Math.floor(6.2)); // 6
console.log(Math.floor(6.3)); // 6
console.log(Math.floor(6.5)); // 6
console.log(Math.floor(6.8)); // 6
如果要生成随机数,使用Math.random()
方法:
console.log(Math.random());
// You will not get the same output
//first time running the program:
// 0.4928793139100267
//second time running the program:
// 0.5420802533292215
// third time running the program:
// 0.5479835477696466
Math.random()
JavaScript 中的方法是什么?- 语法分解
该Math.random()
方法的语法如下:
Math.random();
该方法不带任何参数。
默认情况下,该方法返回一个介于和之间的随机小数(或浮点数)值。0
1
需要注意的是,它是0
包容性的,而1
不是包容性的。
因此,它将返回一个大于或等于0
且始终小于且从不等于的值1
。
如何在 JavaScript 中max
使用指定的限制生成随机小数Math.random()
如您目前所见,默认情况下,Math.random()
生成的数字很小。
如果你想生成一个随机的十进制数,它从 开始,包括,并且0
也大于1
?为此,您指定一个最大数量。
具体来说,您需要将此max
数字与 中的随机数相乘Math.random()
。
例如,如果您想在 和 之间生成一个随机数0
,10
您可以执行以下操作
console.log(Math.random() * 10);
// You won't get the same output
//9.495628210218175
在上面的示例中,我将作为限制的max
数字 ( ) 与来自 的结果数字相乘。10
Math.random()
请记住,在这种情况下,随机数将介于0
和之间10
- 这意味着大于或等于0
且小于且从不等于10
。
如何在 JavaScript 中使用指定min
和max
范围生成随机小数Math.random()
如果您想在指定的数字范围内生成一个随机十进制数怎么办?
您在上一节中看到了如何指定 a max
,但是如果您不希望范围开始0
(这是默认的起始范围)怎么办?为此,您还可以指定一个min
.
在两个值(或范围)之间生成小数的一般语法类似于以下内容:
Math.random() * (max - min) + min;
我们来看下面的例子:
// specify a minimum - where the range will start
let min = 20.4;
// specify a maximum - where the range will end
let max = 29.8;
我创建了两个变量,min
并且max
- 其中min
将是max
范围内的最小数字和最大数字。
接下来,我使用您之前看到的语法在该范围内生成一个随机数
let min = 20.4;
let max = 29.8;
let randomNum = Math.random() * (max - min) + min;
console.log(randomNum);
// You won't get the same output
// 23.309418058783486
这里需要注意的是,它min
是包容性的,所以随机数将大于或等于20.4
,而max
不是包容性的,所以结果将始终是一个小于且永远不等于 的数字29.8
。
如何在 JavaScript 中max
使用指定的限制生成随机整数Math.random()
到目前为止,您已经了解了如何生成随机十进制数。
也就是说,有一种方法可以使用Math.random()
.
您需要将Math.random()
计算结果传递给Math.floor()
您之前看到的方法。
通用语法如下:
Math.floor(Math.random());
该Math.floor()
方法会将随机十进制数向下舍入到最接近的整数(或整数)。
最重要的是,您可以指定一个max
数字。
因此,例如,如果您想在0
和之间生成一个随机数10
,您可以执行以下操作:
console.log(Math.floor(Math.random() * 10));
// You won't get the same output
// 0
max
在此示例中,我将数字(10
在本例中)与结果相乘,Math.random()
并将此计算的结果传递给Math.floor()
.
这里需要注意的是,随机数将介于0
包含和10
排除之间。因此,数字可以大于或等于0
,小于且永远不等于10
。
如何在 JavaScript 中max
使用指定的包含限制生成随机整数Math.random()
在上一节的示例中,我在数字0
(包括)和10
(不包括)之间生成了一个随机数。
到目前为止,您已经看到无法生成等于指定的随机数max
。
如果要生成包含指定最大值的随机数怎么办?
解决方案是1
在计算过程中添加。
所以,让我们重温上一节的代码:
console.log(Math.floor(Math.random() * 10));
您现在将重新编写代码,如下所示:
console.log(Math.floor(Math.random() * 10) + 1);
// You will not get the same output
// 10
这里需要注意的是,这段代码会在1
(not 0
) 和10
-include之间生成一个随机整数10
。
如何在 JavaScript 中生成具有指定min
和max
包含范围的随机整数Math.random()
到目前为止,您已经了解了如何使用max
您指定的包含值生成随机整数。
正如您在上面的示例中看到的,使max
数字包含在内的代码使用数字1
作为起始数字,而不是0
.
也就是说,有一种方法可以让您指定一个包含的数字范围。为此,您需要指定 amin
和max
。
在上一节中,您看到了如何在指定范围内生成随机数,代码类似。唯一的变化是您将结果传递给Math.floor()
方法以将小数四舍五入到最接近的整数。
所以,一般代码如下
Math.floor(Math.random() * (max - min) + min);
要使该范围包含,您将执行以下操作:
console.log(Math.floor(Math.random() * (max - min + 1)) + min);
因此,要在数字(0)和 (10)之间生成一个随机数,您将编写以下内容:
let min = 0;
let max = 10;
console.log(Math.floor(Math.random() * (max - min + 1)) + min);
//You will not get the same output
// 0