大家好!我已经完成了一些关于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] 删除。
我来说两句