Math.random() // [0, 1) 含 0 不含 1
// [min, max) 隨機浮點數
function randomFloat(min, max) {
return Math.random() * (max - min) + min;
}
// [min, max] 隨機整數
function randomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// 示例
randomInt(1, 100); // 1-100
randomFloat(0, 10); // 0-10
crypto.getRandomValues() (Web Crypto API) 或 Node crypto.randomBytes()。JS 無法設置種子,相同環境下刷新頁面序列不同,但同一頁面會話內序列確定性由引擎決定。