有没有办法在javascript中生成随机数而不使用math.random()函数?
我试图在JavaScript中生成0到9之间的随机数,而不使用内置函数有没有办法在javascript中生成随机数而不使用math.random()函数?,javascript,random,Javascript,Random,我试图在JavaScript中生成0到9之间的随机数,而不使用内置函数math.random()。我需要找到这个问题的解决方案。您可以将鼠标位置和时间用作随机噪声: // Expose the current mouse position let clientX = 0; window.onmousemove = e => clientX = e.clientX; // Generate random values and show them: setInterval(() =>
math.random()
。我需要找到这个问题的解决方案。您可以将鼠标位置和时间用作随机噪声:
// Expose the current mouse position
let clientX = 0;
window.onmousemove = e => clientX = e.clientX;
// Generate random values and show them:
setInterval(() => {
document.body.textContent = (+new Date + clientX) % 10;
}, 100);
(请注意,这不够随机,无法在加密/安全相关代码中使用)您可以搜索伪随机数生成器(PRNG)算法并自己实现一个算法。或者从random.org下载随机数据。否则,不,它几乎是
Math.random
。您为什么要避免Math.random()
?您可以在页面加载上使用高分辨率时间戳来为自己的实现播种种子。您希望实现什么?您想创建自己的伪随机算法吗?如果您只是试图避免使用Math.random
,也可以使用crypto.getRandomValues
。但是,您需要转换输出。但是,为什么?你想重新发明轮子吗?