大家好!我已經完成了幾個JavaScript的簡短課程,現在我已經轉向Heads Up:JavaScript,這已經很有趣並且有助於鞏固我的學習。雖然我遇到了一些我不明白的東西。在下面的一段代碼中,我明白程序在執行時通常會做些什麼,但在試圖追蹤執行的每一步時,我意識到我被某個特定段的「什麼/爲什麼/如何」所困惑。下面是示例程序,我看代碼:此示例的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這個化身?它有什麼作用?我非常感謝你的智慧,並花時間幫助那些剛剛接觸編碼的人,並且還有很多東西需要學習!
@ David W,Halcyon,Matt Burland&Tom Sarduy ---謝謝!這使得現在更有意義,這些解釋真的有幫助。我想我的最後一個問題是,當我們在words1中創建索引時,這是告訴腳本有多少項可以從數組中選擇,基本上設置了它可以選擇的數字的上限,這是然後與數組中的特定插槽關聯(一旦我們將其舍入爲整數)? –