来自MDN(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random):
Math.random返回一个浮点伪随机数,范围
[0, 1)为0(包括),但不包括1(不包括),然后可以缩放到所需范围.
但后来,它说:
请注意,由于JavaScript中的数字是具有舍入到最近偶数行为的IEEE 754浮点数,因此这些范围(不包括
Math.random()自身的范围)并不精确,并且在极少数情况下(取决于边界)顺序为1 in 2 ^ 62)来计算通常排除的上限.
我应该考虑那些案件吗?例如,使用......
Math.min(max, Math.floor(Math.random() * (max - min + 1)) + min);
Run Code Online (Sandbox Code Playgroud)
...代替...
Math.floor(Math.random() * (max - min + 1)) + min;
Run Code Online (Sandbox Code Playgroud)
...?