如何在 JavaScript 中生成随机数?

front end technologyjavascriptweb development

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

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

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

方法 1:Math.random() 函数

语法

Math.random();

返回值

0 和 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>

方法 2: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(最大值)之间的随机整数(含 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

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

在这种情况下,我们必须包括 MIN 值并删除 MAX 值,因为将存在 MIN 值和 MAX 值。

<!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 方法(不含)。此外,根据我们的要求,我们可以利用 Math.floor() 函数生成更大的数字。

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


相关文章