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