为什么在while循环中使用+=

Why is += used in this while loop?

本文关键字:while 循环 为什么      更新时间:2023-09-26

这可能真的很简单,但不确定为什么在这个循环中使用+=。我的想法是,最初的msg是空的或0,然后下一个循环msg等于之前评估的值。这是否意味着msg(RHS的一个)有一个新值,然后在循环的下一次迭代中添加到递增的i?

var i = 1;
var msg = '';
while (i < 10) {
    msg += i + ' x 5 = ' + (i * 5) + '<br/>';
    i++;
}

是的,把那行想象成

msg = msg + i + ' x 5 = ' + (i * 5) + '<br/>';

RHS上的msg是每次该行执行时的更新值

它将右边的值附加到左边的变量。它与msg = msg + i... 相同

您的msg变量被定义为字符串,因此基本上,该循环将在每次迭代时向变量附加一个字符串,例如

1 x 5 = 5 <br/>
2 x 5 = 10<br/>

它将从1到9执行此操作,因为只有当i的值小于10时,循环才会运行。

这:

msg += "some value";

是这个的简写:

msg = msg + "some value";

换句话说,它将值添加到变量中。

它也可以使用数字:

var a = 5;
a += 3 - 1; // 7

此上下文中的+=表示串联。最后,消息变量将为:1 x 5 = 5<br/>2 x 5 = 10<br/>...9 x 5 = 45<br/>

在HTML中,<br/>表示换行符。所以它看起来像:

1 x 5=5
2 x 5=10
3 x 5=15

输出为:

0 x 5 = 0
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
...
9 x 5 = 45