为什么这个for循环使用+ =?

时间:2018-08-02 01:07:01

标签: javascript for-loop

我无法理解为什么此for循环是text += cars[i]...而不是text = cars [i]...

这是完整的脚本

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i, len, text;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}

document.getElementById("demo").innerHTML = text;
<p id="demo"></p>

3 个答案:

答案 0 :(得分:1)

=是作业

+=是分配和加法


如果 text += 'abc'

text最初是def

结果将为defabc


在您的情况下,结果将是

BMW<br/>Volvo</br>Saab<br/>Ford<br/>

答案 1 :(得分:0)

+ =运算符,例如:x + = y,与编写x = x + y相同。在您的示例中,cars数组中的每个项目都被添加到新变量text中,并且在它们之间插入了“ br”标签。它应将阵列中列出的所有汽车都列在另一列之上。如果仅使用=运算符,则'text'变量将被覆盖多次,直到循环结束,因此您将仅看到条目'Ford',因为它是数组中的最后一个条目。

答案 2 :(得分:0)

使用+ = 输出是 宝马 沃尔沃 萨博 福特

因此基本上,由于其为for循环,因此在每次迭代中,text的值都构建为 宝马
沃尔沃
萨博
福特

如果从脚本中删除+ 在每次迭代中,文本的值将被替换为汽车[i] 并且变量文本的最终值为Ford