📜  随机数 javascript (1)

📅  最后修改于: 2023-12-03 15:42:24.588000             🧑  作者: Mango

JavaScript中生成随机数的方法

在JavaScript中,有多种方法可以生成随机数。

Math.random()

JavaScript内置了一个Math对象,其中有一个.random()方法可以生成0到1之间的随机数。

let randomNum = Math.random();

如果要生成一个N到M之间的随机数,可以使用如下公式:

let randomNum = Math.floor(Math.random() * (M - N + 1) + N);

例如,生成一个1到6之间的随机数可以这样写:

let randomNum = Math.floor(Math.random() * 6 + 1);
Date对象

JavaScript中的Date对象也可以用来生成随机数。通过获取当前时间的毫秒数,可以产生一个0到999之间的随机数。

let randomNum = new Date().getMilliseconds();

如果需要生成一个N到M之间的随机数,可以将获取到的随机数除以1000再加上N,然后向下取整。

let randomNum = Math.floor((new Date().getMilliseconds() / 1000) * (M - N + 1) + N);
Crypto.getRandomValues()

Web Crypto API提供了一个.getRandomValues()方法,可以生成高强度的随机数。

let array = new Uint32Array(1);
window.crypto.getRandomValues(array);
let randomNum = array[0];

其中array数组的长度可以调整,表示生成多少个32位随机数。这种方法比Math.random()和Date对象生成的随机数更加高强度,无法预测。

参考文献:MDN web docs