繁体   English   中英

如何理解JavaScript'Math.floor(Math.random()* 6)+1'中的内置函数?

[英]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)+11-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM