如何在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+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告