'while'循环中的JavaScript赋值运算符

时间:2016-10-17 19:06:47

标签: javascript while-loop assignment-operator

我有一个脚本:

<script>  
var text = "";  
var i = 0;  
while (i < 10) {  
text += i;  
i++;   
} 
document.getElementById("demo").innerHTML = text;  
</script>  

此脚本将写入数字0 .... 9
为什么我必须使用“text + = i”分配?
为什么我不能代码“text = i”?
您如何解释此代码行?
谢谢你的时间!

PS。我知道text += i等同于

text = text + i     

这不是问题。 ;)
而且我也知道如果输入“text = i”,我会得到最后一个数字:9。

2 个答案:

答案 0 :(得分:0)

普通赋值运算符git reset --hard A 将左侧的变量(或对象属性)设置为右侧的值。左侧变量的前一个值丢失。

=运算符在当前左侧值和右侧值之间执行加法,然后将该结果分配给左侧。如果您想累积一系列添加操作到变量中,那么您将使用+=

如果您只使用+=,则变量=将仅保留指定的最后一个值。

这就是赋值运算符在JavaScript等多种语言中的工作方式。

答案 1 :(得分:0)

首先,你知道运算符是如何运作的,所以让我澄清脚本使用的原因 文本+ = I

让我们走过循环 最初是text =&#39;&#39; 这是第一次进来 文本=&#39; 0&#39; 所以现在如果你将文本附加到div,那么你可以将它再次设置为空白字符串或使用text = i

但是你没有将文字添加到div。 因此,如果我们使用text = i,则文本变为0 并且在接下来变为1,等等到最后它的值将是9 但是我们想要0 ... 9所以我们必须继续附加数字的字符串值 得到0 ... 9