Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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_Oop_Operators - Fatal编程技术网

这个+;=在这里用javascript工作?

这个+;=在这里用javascript工作?,javascript,oop,operators,Javascript,Oop,Operators,我正在学习javascript中的循环,但在许多示例中我看到+=,我知道它的意思是a+=b(a=a+b),但我不知道这段代码中的确切含义 vari; 对于(i=0;i

我正在学习javascript中的循环,但在许多示例中我看到+=,我知道它的意思是a+=b(a=a+b),但我不知道这段代码中的确切含义

vari;
对于(i=0;i<10;i++){
document.getElementById(“demo”).innerHTML+=i+“
”; }

此代码将循环10次

将(i+新行字符)添加到元素演示中,即段落内部


每次循环执行时,您都在问题中给出了答案

如果

a = a + b
document.getElementById("demo").innerHTML =
    document.getElementById("demo").innerHTML + i + "<br>";
然后

document.getElementById(“demo”).innerHTML+=i+“
”;

a = a + b
document.getElementById("demo").innerHTML =
    document.getElementById("demo").innerHTML + i + "<br>";
document.getElementById(“demo”).innerHTML=
document.getElementById(“demo”).innerHTML+i+“
”;

换句话说,
i
作为字符串(循环计数器变量)和

(HTML换行符)的值被添加到每个循环中。

正如您所说,
a+=b
相当于
a=a+b
(有一些细微的区别,但我们现在将忽略它们)

当其中一个操作数是字符串时,
+
会导致串联。所以
“ABC”+“DEF”
变成了
“ABCDEF”
。如果只有一个操作数是字符串,则首先将另一个操作数转换为字符串

innerHTML
获取或设置元素的HTML内容,因此
innerHTML+=i
i
转换为字符串,然后将其添加到元素的HTML内容中。

这非常简单

document.getElementById("demo").innerHTML += i + "<br>";

for
循环中,您获得元素的
innerHTML
,并从循环和“border”(

)中添加
i
,这样您就不会完全覆盖它,而是添加
i

,因此,您可以看到从0到9的数字列表,每一行都以新行开始


document.getElementById(“demo”).innerHTML+=i+“
意味着您获取现有的
innerHTML
,添加
i
,然后添加

,最后将其分配给元素的
innerHTML
——非常简单。

代码使用id=“demo”写出元素的内部html。循环重复10次

在每次迭代中,html将如下所示:

第一次迭代(追加
0

0

第二次迭代(附加
1

0
1

等等

第10次迭代(附加
9

0
1
2
3
4
5
6
7
8
9


因此,此代码中的
+=
基本上是附加到内部html,即保持以前编写的文本完整,并附加
i

你为什么不运行这段代码,看看它能做什么?
<p id="demo">
0<br>
<p>
<p id="demo">
0<br>
1<br>
<p>
<p id="demo">
0<br>
1<br>
2<br>
3<br>
4<br>
5<br>
6<br>
7<br>
8<br>
9<br>
<p>