什么是UInt8Array()最大值?

时间:2015-03-06 22:09:20

标签: javascript ecmascript-6 typed-arrays



// 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;
&#13;
&#13;

我在Javascript中尝试使用UInt8Array()方法来创建随机数。与window.crypto.getRandomValues()一起使用时,它的效果甚至优于Math.random()

但是我想知道这个方法可以产生的最大值是什么,所以我想知道是否有更有经验的人可以提供这些信息,也许可以解释一下这是如何工作的,以及如何定义这个最大值。另外,我可以使用这些数字并将它们存储在变量中吗?

1 个答案:

答案 0 :(得分:4)

该方法的definition说:

  

Uint8Array类型数组表示 8位无符号数组   整数。内容初始化为0 ..

这意味着最高值为2 ^ 8 - 1表示255.

在JS中计算为Math.pow(2, 8);