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

Getting started with javascript, got a questions

本文关键字:问题 一个 遇到 javascript 开始      更新时间:2023-09-26

我正在学习w3school JS初学者教程。下面的代码中有一些我不明白的地方:

<!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

再次感谢!

a+=ba=a+b的缩写。在您的情况下,您有text = text + cars[i] + "<br>"

text是一个字符串,您使用+从数组(包含字符串(中附加一个值,然后附加"<br>"

循环结束时text的值将是

Saab<br>Volvo<br>BMW<br>

其中br代表换行符。这样它们中的每一个都会被打印到新的行上。最后一行代码

document.getElementById("demo"(.innerHTML=文本;

将id为CCD_ 10的html元素的值改变为text的值。

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

将cars数组的元素i连接到文本,由<br>标签分隔。

这样想吧,

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

实际上是

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

因此,它将把新单词与现有字符串连接起来,而不是删除旧值。(字符串连接(。

附言:作为一名初学者,与其遵循W3学校,不如去codecademy这样的网站,它可以帮助你在练习和正确解释的同时学习。

不要认为+=是递增的,那就是++

a = a + b
a += b;

这两种说法是一样的。最下面的一个取左侧的变量(a(,并将右侧附加到它(b(,然后将其全部分配回左侧(a(。所以这只是一个简写。

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

这会做同样的事情:

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

循环运行后,text中会出现以下内容:

Saab<br>Volvo<br>BMW

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

代码

for(var i = 0; i < cars.length; i++) {
   text+=cars[i] + "<br>";
}

从数组中挑选每个元素并将">
"连接到它。

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

"Saab<br>Volvo<br>BMW<br>"

在这里,他们这样做实际上只是为了表明这样做没有意义,他们只是想表明到达数组中的每个个体,并将其连接到字符串中,这与使用array.prototype.join((方法相同你也希望

+=不是增量。它在同一个变量中添加(在本例中为串联(并保存结果。

var a +=b;

与相同

var = a + b;

在您的例子中,脚本将所有数组元素连接到一个字符串中,并在它们之间添加<br>标记。