此示例的JavaScript代码说明?

黎明脱链

大家好!我已经完成了一些关于JavaScript的简短课程,现在我继续学习Heads Up:JavaScript,它非常有趣,并且正在帮助巩固我的学习。我确实碰到了我不了解的东西。在下面的代码中,我了解了程序在执行时通常会执行的操作,但是在尝试跟踪执行的每个步骤时,我意识到我对特定段的“什么/为什么/如何”感到困惑。这是我正在查看的示例程序的代码:


function makePhrases() {

            var words1 = ["24/7", "multi-tier", "30,000 foot", "B-to-B", "win-win"];

            var words2 = ["empowered", "value-added", "oriented", "focused", "aligned"];

            var words3 = ["process", "solution", "tipping-point", "strategy", "vision"];



            var rand1 = Math.floor(Math.random() * words1.length);

            var rand2 = Math.floor(Math.random() * words2.length);

            var rand3 = Math.floor(Math.random() * words3.length);



            var phrase = words1[rand1] + " " + words2[rand2] + " " + words3[rand3];

            alert(phrase);

        }

        makePhrases();

这是一直困扰我的部分:

            var rand1 = Math.floor(Math.random() * words1.length);

            var rand2 = Math.floor(Math.random() * words2.length);

            var rand3 = Math.floor(Math.random() * words3.length);

我知道这是代码的一部分,它可以随机选择每个数组中的哪个项以形成新的“随机短语”,但是我不知道它是如何做到的。我以前也不知道Math.random或Math.floor可以应用于字符串(必须是因为它们在数组中,本质上是一个数字?),或者如何/为什么使用Math.random或带字符串的Math.floor。

另外,为什么我们需要在此化身中使用.length?它有什么作用?感谢您在这里的智慧,并抽出宝贵的时间来帮助刚接触编码但仍然有很多东西要学习的人!

太平

让我们看一下代码:

var rand1 = Math.floor(Math.random() * words1.length);

Math.random()返回介于0之间的数字0.999999..

words1 是可供选择的单词列表。

words1.length是列表的大小,5在这种情况下为项目数

Math.random() * words1.length返回介于0之间的数字4.99999..

最后使用Math.floor()来获取0之间的整数4

然后,这个号码被用作一个索引words1,所以words1[rand1]


因此,Math操作永远不会在字符串上使用,仅在最后一步中获取字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

请求代码示例的说明

来自分类Dev

此Vst Synth示例的说明

来自分类Dev

此Vst Synth示例的说明

来自分类Dev

javascript代码片段说明

来自分类Dev

Javascript子类代码说明

来自分类Dev

JavaScript代码说明

来自分类Dev

说明JavaScript代码语法

来自分类Dev

此C ++代码说明了什么

来自分类Dev

用嵌套范围说明此代码的输出

来自分类Dev

如何使用此说明编辑我的代码

来自分类Dev

Javascript代码说明。图像序列

来自分类Dev

需要JavaScript语句说明(“此”和“事件”)

来自分类Dev

没有数组的Ruby排序代码的示例说明

来自分类Dev

解释此javascript代码

来自分类Dev

javascript示例代码无法运行

来自分类Dev

此 SQL 代码在添加 PRIMARY KEY 索引时的说明

来自分类Dev

了解此JavaScript函数重载示例

来自分类Dev

一段JavaScript代码的说明

来自分类Dev

插件中使用的javascript代码说明

来自分类Dev

Angular Js中的此示例代码有什么问题

来自分类Dev

此代码示例中使用哪种模板专业化?

来自分类Dev

为什么此C代码示例使用指向指针的指针?

来自分类Dev

此示例代码中是否需要“异步/等待”?

来自分类Dev

在C ++中嵌入libmicrohttpd代码或如何编译此示例?

来自分类Dev

如何用OO /设计模式术语定义此代码示例?

来自分类Dev

如何缩短此rspec示例并避免代码重复?

来自分类Dev

此示例代码中是否需要“异步/等待”?

来自分类Dev

Unity的此分形代码示例中的localScale如何减少

来自分类Dev

此javascript代码如何工作?