无法理解javascript for循环期间发生的事情

时间:2017-11-18 15:46:59

标签: javascript

我在理解for循环期间发生的事情时遇到了一些麻烦。我可以想象函数循环,因为“text”的值改变了五次。但是当我想象它是如何工作的时候,整个代码块的输出不应该是9吗? 因为首先,“text”改变了它的值五次,结束于9,然后是文档。部分被执行。 但输出是1 3 5 7 9.有人能解释一下究竟发生了什么吗?

var text = "";
var i;

for (i = 1; i < 10; i = i + 2) {
    text += i + "<br>";
}

document.getElementById("demo").innerHTML = text;

1 个答案:

答案 0 :(得分:0)

这称为速记赋值运算符。

Addition assignment operator(+=): Usage: a+= b is equivalent to a=a+b
Subtraction assignment operator(-=): Usage: a-=b is equivalent to a=a-b

var text =“”;     var i;

for (i = 1; i < 10; i = i + 2) {
    text += i + "<br>";  // is equal too text = test + i + "<br>";
}

document.getElementById("demo").innerHTML = text;

添加到我的答案。

Text是一个字符串,如果你在文本变量中添加了一个名为concatination的文本,那就是JavaScript。

这里发生了什么。

每次循环运行。它将前一个文本值和i连接到文本变量。

文字+ = i“
”;

每次将新值附加到同一文本变量。

例如。第一次循环运行它在'text'变量中设置1然后再次迭代3附加到perivous'text'变量。所以每次循环运行i值ia追加'text'。