我在理解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;
答案 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'。