// Storing array and targeting HTML elements.
var array = new Uint8Array(1),
output = document.getElementById('output'),
btn = document.getElementById('btn');
btn.onclick = function() {
// Get random values from the array.
number = window.crypto.getRandomValues(array);
// Show value on the front-end.
output.innerHTML = number[0];
};

h1, button {
text-align: center;
font-family: sans-serif;
}
button {
padding: 20px;
display: block;
margin: 0 auto;
width: 175px;
border: solid 5px #000;
border-radius: 2px;
background: none;
font-size: 20px;
cursor: pointer;
text-transform: uppercase;
}

<h1 id="output">Click to go random.</h1>
<button id="btn">Randomize</button>
&#13;
我在Javascript中尝试使用UInt8Array()
方法来创建随机数。与window.crypto.getRandomValues()
一起使用时,它的效果甚至优于Math.random()
。
但是我想知道这个方法可以产生的最大值是什么,所以我想知道是否有更有经验的人可以提供这些信息,也许可以解释一下这是如何工作的,以及如何定义这个最大值。另外,我可以使用这些数字并将它们存储在变量中吗?
答案 0 :(得分:4)
该方法的definition说:
Uint8Array类型数组表示 8位无符号数组 整数。内容初始化为0 ..
这意味着最高值为2 ^ 8 - 1表示255.
在JS中计算为Math.pow(2, 8);