我无法理解为什么此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>
答案 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