如何在JavaScript中生成随机数?


Math对象是一个内置对象,具有执行数学运算的属性或方法,它在JavaScript中具有random()方法的原生实现。顾名思义,random()方法有助于生成随机数。

Math.random()方法的返回值是一个浮点数,介于0(包含)和1(不包含)之间的半数。这在数学上由方程0 ≤ x < 1定义。

Math.random()函数将返回一个范围在0到小于1(包含0但不包含1)之间的浮点伪随机数,其分布在该范围内基本均匀,然后您可以将其缩放至您推荐的范围。随机数生成算法中使用的起始种子由实现生成;用户无法更改或重置它。

方法一:Math.random()函数

语法

Math.random();

返回值

一个介于0和1(不包含1)之间的浮点伪随机数。

示例1

在这个例子中,让我们了解如何在1(最小值)和10(最大值)之间生成一个随机整数。

Math.random()函数返回范围在[0,1]内的浮点伪随机数,其中0(包含)和1(不包含)是唯一允许的值。一旦缩放至所需的范围,就可以使用这个随机数。

<!DOCTYPE html> <html> <title>How to generate a random number in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> function randomInteger(min, max) { return Math.random() * (max - min) + min; } document.write("Any number between 1 and 10 at random: ") document.write( randomInteger(1, 10) ); </script> </body> </html>

方法二:Math.floor()函数

语法

Math.floor();

示例1

JavaScript的Math.floor()函数将作为参数提供的数字四舍五入到最接近的整数,舍入方向向下,或朝较低的值。

在这个例子中,让我们了解如何生成1(最小值)和100(最大值)之间的随机整数。

<!DOCTYPE html> <html> <title>How to generate a random number in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> function randomInteger(min, max) { return Math.floor(Math.random() * (max - min) + min); } document.write("Any number between 1 and 100 at random:") document.write( randomInteger(1, 100) ); </script> </body> </html>

示例2

在这个例子中,让我们了解如何生成1(最小值)和10(最大值)之间的随机整数(都包含)。

<!DOCTYPE html> <html> <title>How to generate a random number in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> function randomInteger(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; } document.write("Any number between 1 and 20 at random: ") document.write( randomInteger(1, 20) ); </script> </body> </html>

示例3

让我们来看这个例子,看看两个数字之间的整数值是如何工作的(包含)。如果最小值始终为0,则可以将随机数乘以最大值,但如果不是0,则必须计算最大值和最小值的差值。之后,我们将随机数乘以差值,然后加上最小值。

在这种情况下,我们必须包含最小值并移除最大值,因为将存在最小值和最大值。

<!DOCTYPE html> <html> <title>How to generate a random number in JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <script> const min = parseInt(prompt("Insert a min value: ")); const max = parseInt(prompt("Insert a max value: ")); const result = Math.floor(Math.random() * (max - min + 1)) + min; document.write(`Random value between ${min} and ${max} is ${result}`); </script> </body> </html>

简而言之

要创建0(包含)和1之间的随机数,应使用Math.random() JavaScript方法(不包含1)。此外,根据我们的要求,我们可以使用Math.floor()函数生成更大的数字。

在本文中,我们研究了JavaScript Math库的基础知识,并讨论了如何使用Math.random()方法生成随机数。我们可以使用我们开发的一种独特方法来生成两个值之间的随机数。

更新于:2022年8月23日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告