2015-12-30 133 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