当前位置:  开发笔记 > 编程语言 > 正文

Math.floor的操作顺序(Math.random()*5 + 1)?

如何解决《Math.floor的操作顺序(Math.random()*5+1)?》经验,为你挑选了1个好方法。

在Code Academy JS课程Dragon Slayer 2/6中,提示中使用以下文本来描述标题中包含的代码的操作顺序.

这段代码是如何工作的?

Math.floor(Math.random() * 5 + 1);

首先,我们使用Math.random()创建一个从0到1的随机数.例如,0.5

然后我们乘以5使随机数从0到5.例如,0.5*5 = 2.5

接下来,我们使用Math.floor()向下舍入到整数.例如,> Math.floor(2.5)= 2

最后我们添加1来将范围从0到4更改为1到> 5(最多包括5)

我已经在几个不同的地方(这里和这里)看了这个,其中大部分都集中在Math.random()产生的范围(我理解)或确认提示中概述的操作顺序,其中"Math.floor"在添加"+1"之前作用于"Math.random()*5".

然而,在我看来,根据我在学校学到的操作顺序,最后两个步骤应该翻转.那不是这种情况,因为"Math.random()*5"和"+ 1"都在括号内吗?

虽然这两者之间的差异可能不会对这个特定代码返回的值产生影响,但我可以看到操作顺序发生了根本性的变化,就像这里概述的那样,如果我不这样做会让我感到有些沮丧知道.



1> 小智..:

在计算完毕后,Math.floor()将对括号内的任何内容起作用.

Math.floor(Math.random() * 5 + 1)

是相同的

var i = Math.random() * 5;
i += 1;
Math.floor(i);

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有