Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript入门,有问题吗_Javascript_Html_For Loop_Getelementbyid_Inserthtml - Fatal编程技术网

javascript入门,有问题吗

javascript入门,有问题吗,javascript,html,for-loop,getelementbyid,inserthtml,Javascript,Html,For Loop,Getelementbyid,Inserthtml,我正在学习w3school的JS入门教程。下面的代码中有一些我不理解的地方: var汽车=[“萨博”、“沃尔沃”、“宝马”]; var text=“”; 对于(变量i=0;i

我正在学习w3school的JS入门教程。下面的代码中有一些我不理解的地方:


var汽车=[“萨博”、“沃尔沃”、“宝马”]; var text=“”; 对于(变量i=0;i”; } document.getElementById(“demo”).innerHTML=text;
a+=b
a=a+b
的缩写。在您的情况下,您有
text=text+cars[i]+“


text
是一个字符串,您使用
+
从数组(包含字符串)中追加一个值,然后追加

循环末尾的
text
的值将是

Saab<br>Volvo<br>BMW<br>
Saab
沃尔沃
宝马
其中br代表换行符。这样每一个都可以打印在新的行上。 最后一行代码

document.getElementById(“demo”).innerHTML=text

将id为
demo
的html元素的值更改为
text
的值

text+=cars[i]+'
';
text += cars[i] + '<br>';
将cars数组的元素i连接到文本,由一个

标记分隔。

如下所示

text+=cars[i] + "<br>"; 
text+=cars[i]+“
”;
实际上是

text=text+cars[i]+"<br>";
text=text+cars[i]+“
”;
因此,它不会删除旧值,而是将新词与现有字符串连接(字符串连接)


附言:作为一个初学者,一个小小的建议,而不是遵循W3学校,请访问这样的网站,它可以帮助您在练习和正确解释的同时学习。

不要把
+=
看作是递增的,那就是
+

a = a + b
a += b;
这两种说法是相同的。底部的一个从左侧(
a
)获取变量,并将右侧附加到该变量(
b
),然后将其全部赋值回左侧(
a
)。所以这只是一个速记

因此,您在代码中所做的是将
cars[i]
中的字符串附加到变量文本中

这将做同样的事情:

text = text + cars[i] + "<br>";

在javascript中,
+
用于字符串连接

代码

for(var i = 0; i < cars.length; i++) {
   text+=cars[i] + "<br>";
}
for(变量i=0;i”;
}
正在从数组中拾取每个元素并将“
”连接到该元素

如果您在设置innerHTML之前将文本记录在控制台日志中,它看起来像这样-

"Saab<br>Volvo<br>BMW<br>"
“萨博
沃尔沃
宝马

在这里,他们这样做实际上只是为了说明这样做没有任何意义,他们只是想说明如何到达数组中的每个个体,并将其合并为字符串,这与使用array.prototype.join()可以做的非常相似方法在这里不认为您必须使用,因为它们总是显示为一个字符串,如果您愿意,您可以简单地使用其中的每一个人,就像您所希望的那样

+=is not increment。它将添加(在本例中为串联)并将结果保存在同一个变量中

var a +=b;
与以下内容相同:

var = a + b;

在您的例子中,脚本将所有数组元素连接成一个字符串,并在它们之间添加

标记。

+=表示不增加值?它意味着连接到现有变量。
+=
不仅仅意味着增量。当给定字符串值而不是两个数字时,
+
将连接起来。非常感谢你!我添加了一个后续问题作为编辑,但不确定对回答我问题的用户是否可见,因此我会向您发表评论,您首先回答:)是否有其他方法显示相同类型的信息而不必使用var text=“”,text+=cars[i]和insertHTML=text?谢谢
var = a + b;