2015-12-30 136 views
0

昨天我開始了W3Schools課程。我對JavaScript中的一個for循環有點困惑。Understading for循環在Javascript中

var text = ""; 
var i; 
for (i = 0; i < 5; i++) { 
    text += "The number is " + i + "<br>"; 
} 

它給出以下輸出:

數爲0

數目是1

數量爲2

數爲3

這個數字是4

我感到有點困惑是:

數爲0

由於:

文本值它與每個迭代更新,所以, 一次迭代後文字=數字是0

然後是下一個,我不能明白爲什麼它打印出「的數目是1」等,代替

數目爲0的數目爲1

數目爲0的數目是1的數量爲2

數爲0的數目爲1的數目爲2的數量是3

數目爲0的數目爲1的數目爲2的數量爲3的數量是4

與下一次迭代一樣,var文本被更新,並且for循環不會退出循環以將值重置爲var text =「」

+0

您發佈的代碼根本沒有任何「輸出」。它只是積累字符串。在循環之後的'text'會發生什麼? – Pointy

+0

document.getElementById(「demo」)。innerHTML = text; 這是從[鏈接](http://www.w3schools.com/js/tryit.asp?filename=tryjs_loop_for_ex)W3schools //編輯 - 無所謂,我現在明白了:)這項任務: ) – tzu314

+0

這是因爲text + =中的+,意思是「添加到前一個值」,刪除它,每次迭代時新文本將覆蓋文本的值。 – Shanoor

回答

2

這是因爲您將文本累積到變量中,然後在最後打印它。

如果您使用調試器觀察text變量的演變,您會看到最後描述的內容。

+0

好的,謝謝。我明白這一點。 – tzu314