我正在关注JS的w3school初学者教程。我从下面的代码中无法理解:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var cars = ["Saab","Volvo","BMW"];
var text = "";
for(var i = 0; i < cars.length; i++) {
text+=cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
有人能解释一下text+=cars[i]
的逻辑吗?我理解+=
意味着增量,但我不能理解将数组元素添加到变量文本背后的逻辑。
非常感谢您的快速回复!我有一个跟进问题:是否可以使用
显示相同类型的信息
var text = "";
和
text+=cars[i]
代码片段?如果是这样,代码片段将如何显示,如果不是
,我应该插入HTML
text
再次感谢!
答案 0 :(得分:0)
a+=b
是a=a+b
的缩写。在您的情况下,您有text = text + cars[i] + "<br>"
。
text
是一个字符串,您使用+
从数组中附加一个值(包含字符串),然后附加"<br>"
答案 1 :(得分:0)
循环结束时text
的值将是
Saab<br>Volvo<br>BMW<br>
其中br代表换行符。这样每个人都可以在新线上打印出来。 最后一行代码
document.getElementById(&#34; demo&#34;)。innerHTML = text;
将ID为demo
的html元素的值更改为text
的值。
答案 2 :(得分:0)
text += cars[i] + '<br>';
将cars数组的元素i连接到文本,用<br>
标记分隔。
答案 3 :(得分:0)
像这样考虑,
text+=cars[i] + "<br>";
实际上是
text=text+cars[i]+"<br>";
这样,不是删除旧值,而是将新单词与现有字符串连接起来。(String Concatenation)。
PS:作为初学者的一小段建议,而不是关注W3学校,请访问像codecademy这样的网站,它可以帮助您学习实践和正确的解释。答案 4 :(得分:0)
不要认为+=
为递增,即++
。
a = a + b
a += b;
这两个陈述是一样的。底部采用左侧的变量(a
)并将右侧附加到它(b
),然后将其全部分配回左侧(a
)。所以这只是一个简写。
因此,您在代码中执行的操作是将cars[i]
中的字符串附加到您的变量文本中。
这会做同样的事情:
text = text + cars[i] + "<br>";
循环运行后,您将在text
:
Saab<br>Volvo<br>BMW
答案 5 :(得分:0)
在javascript中+
用于字符串连接
代码
for(var i = 0; i < cars.length; i++) {
text+=cars[i] + "<br>";
}
从数组中挑选每个元素并连接&#34;
&#34;它。
如果您在设置innerHTML之前控制台记录文本,它看起来像这样 -
"Saab<br>Volvo<br>BMW<br>"
答案 6 :(得分:0)
在这里,他们这样做实际上只是为了表明没有必要这样做,他们只想显示到达一个数组内的每个人并将其连接成一个字符串与Array.prototype.join可以做同样的事情( )方法不要在这里考虑你必须使用,因为他们显示总是连续成一个字符串,如果你想你可以简单地使用内部的每一个人也是如此
答案 7 :(得分:0)
+ =不是增量。它添加(在这种情况下是连接)并将结果保存在同一个变量中。
var a +=b;
与:
相同var = a + b;
在您的情况下,脚本将所有数组元素连接成一个字符串,并在它们之间添加<br>
标记。