![](/img/trans.png)
[英]JavaScript - Math.floor(Math.random()) - Reposition <img> element
[英]How to understand this built in function in JavaScript 'Math.floor(Math.random() *6)+1'?
如果我使用此代码:
Math.floor(Math.random() *6)
这会给我一个1到5之间的随机数,对吗?
编写代码是否相同:
Math.floor(Math.random() *6)+1
这样吗?
Math.floor(Math.random() *7)
因为它们都会给我1到6之间的数字?
仅看了一个教程,他还没有解释这个功能,我很好奇他是否可以使用第二个示例而不是第一个示例。
不,它们不会是相同的Math.floor(Math.random() *6)+1
是1-6
之间的随机值(6是最大值)
。 这一个的最小值总是1
,因为我们正在添加1
中的端部。
Math.floor(Math.random() *7)
是0-7
之间的随机值
Math.random()
将返回一个从0(含)到1(不含)的数字,这意味着该数字可以低至零,但从未达到1。我们将其乘以6,所以现在从0变为几乎为6。然后我们将其.floor
为0-5。 加1会使该整数达到1-6的范围(包括两个端点)。
Math.floor(Math.random() *7)
将获得从0到1的随机数,然后乘以7使其成为0到几乎7,然后下限将为0-6。 如此接近,但并不完全。
文件: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
Math.random()
为您提供0到1之间的伪随机数。
将其乘以6,将得到0到6的范围。将其乘以7,将得到0-7。 加1,两端向上移动1。
Math.floor()
是“不大于...的最大整数”。 简单地说,四舍五入。
因此,将所有内容放在一起, Math.floor(Math.random() *6)
是:从0到6之间的某个地方获取一些伪随机数,并将其四舍五入-它将是[0, 1, 2, 3, 4, 5]
(您将不会得到6,因为使用Math.random()永远不会得到精确的1)。
类似地, Math.floor(Math.random() *6)+1
是上面的加1(因此,是对普通立方模具的一次抛掷)。 Math.floor(Math.random() *7)
表示[0, 1, 2, 3, 4, 5, 6]
某个数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.