我有一个脚本:
<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。
答案 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