Javascript中循环的理解

Javascript中循环的理解,javascript,for-loop,Javascript,For Loop,昨天,我开始了关于学校的课程。我对JavaScript中的for循环有点困惑 var text = ""; var i; for (i = 0; i < 5; i++) { text += "The number is " + i + "<br>"; } var text=”“; var i; 对于(i=0;i

昨天,我开始了关于学校的课程。我对JavaScript中的for循环有点困惑

var text = "";
var i;
for (i = 0; i < 5; i++) {
    text += "The number is " + i + "<br>";
}
var text=”“;
var i;
对于(i=0;i<5;i++){
text+=“数字为“+i+”
”; }
它给出以下输出:

号码是0

号码是1

号码是2

号码是3

号码是4

我有点困惑的是:

文本值每次迭代都会更新,所以, 第一次迭代后:

号码是0

As text=数字为0

然后是下一个,我不明白为什么它打印出“数字是1”等等,而不是

数字是0,数字是1

数字是0数字是1数字是2

数字是0数字是1数字是2数字是3

数字是0数字是1数字是2数字是3数字是4


与每次下一次迭代一样,var文本都会更新,for循环不会退出for循环以将值重置为var text=“”

,这是因为您将文本累积到变量中,然后在最后打印它


如果您使用调试器观察
文本
变量的演变,您将看到最后描述的内容。

您发布的代码根本没有任何“输出”。它只是累积字符串。在循环之后,
text
会发生什么?document.getElementById(“demo”).innerHTML=text;这是W3schools//EDIT中的任务-无论如何都不重要,我现在明白了:):)这是因为
text+=
中的+意味着“添加到以前的值”,删除它,每次迭代
text
的值都会被新内容覆盖。