开始使用javascript,得到了一个问题

时间:2015-07-12 14:35:29

标签: javascript html for-loop getelementbyid inserthtml

我正在关注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

再次感谢!

8 个答案:

答案 0 :(得分:0)

a+=ba=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>标记。