2015-07-12 80 views
2

我正在关注JS的w3school初学者教程。有件事情我不从下面的代码明白:JavaScript入门,有问题

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

+ =表示不递增值?它意味着连接到现有的变量。 – ngLover

+0

'+ ='不仅仅意味着增量。当给定字符串值而不是两个数字时,'+'会代替连接。 [MDN:添加作业](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Addition_assignment) –

回答

0

a+=ba=a+b的简称。在你的情况下,你有text = text + cars[i] + "<br>"

text是一个字符串,并且正在使用+从数组追加一个值(即包含字符串),然后追加"<br>"

+0

非常感谢!我添加了一个后续问题作为编辑,但不确定这是否对用户回复我的问题是可见的,因此我跟进了一条评论给你,谁先回答:)是否有替代方法显示相同类型的信息,而不必使用var text =“”; ,text + = cars [i]和insertHTML = text?谢谢, – Pere

0

text在循环结束时的值将是

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

其中br代表换行符。这样他们每个人都会换行。 最后一行代码

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

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

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

将cars阵列的元素i连接到文本,用<br>标记分隔。

0

考虑像这样,

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

实际上是

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

,这样,而不是删除旧值将串连与现有的字符串新词。(字符串连接)。注:作为一个初学者的小建议,而不是遵循W3学校,请访问网站codecademy,它可以帮助你学习和练习和正确的解释。

0

不要认为+=正在递增,即++

a = a + b 
a += b; 

这两条语句是相同的。最下面的一个将左侧的变量(a)附加到它的右侧(b),然后将其全部分配给左侧(a)。所以它只是一个简写。

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

这将做同样的事情:

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

一旦循环运行,你将不得不在text如下:

Saab<br>Volvo<br>BMW 
0

在javascript中+用于字符串连接

代码

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

正在挑选阵列中的每个元素并将“
”连接到它。

如果控制台设置的innerHTML之前登录的文本,它看起来是这样的 -

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

在这里,他们这样做其实只是为了证明世界上没有一点做这种方式,他们只是想显示的到达数组中的每个人将其串联成一个字符串与Array.prototype.join()方法完全相同的东西不要以为你必须使用它们,因为它们总是显示为一个字符串,如果你想要,你可以简单地使用每一个单身个人内心也如你所愿

0

+ =不是增量。它将添加(在这种情况下为串联)并将结果保存在同一个变量中。

var a +=b; 

是一样到:

var = a + b; 

在你的情况脚本将一个所有数组元素连接成一个字符串,并在他们之间添加<br>标签。