+=(加等号)如何工作?

IT技术 javascript
2021-01-16 10:38:20

我对 += 符号有点困惑。它是如何工作的?

  1. 1 += 2 // 等于 ?

  2. 还有这个

    var data = [1,2,3,4,5];
    var sum = 0;
    data.forEach(function(value) {
        sum += value; 
    });
    sum = ?
    
6个回答

1 += 2 是语法错误(左侧必须是变量)。

x += y是 的简写x = x + y

实际上 x+=y 等于 x = x + (y)。看看这个stackoverflow.com/a/65325247/2913723
2021-03-15 10:38:20
根据 javascript: 198.51 -= 84.4 results in 114.109999999999999 这是不正确的。
2021-03-27 10:38:20
@JpHouten 你的评论并不是真的在这个答案上,但我仍然觉得我应该回复它。首先,你的意思是 -,而不是 -= 因为你 198.51 -= 84.4 只是给出了一个错误。但大多数情况下,这不是错误。这只是由于计算机以二进制而不是十进制表示数字而导致 198.51 和 84.4 之类的数字不能完全以二进制表示,而必须四舍五入。这是浮点数的标准部分。如果您需要精确(而不是近似)十进制计算,则应改用定点数。
2021-04-11 10:38:20

1) 1 += 2 // 等于 ?

这在语法上是无效的。左边必须是一个变量。例如。

var mynum = 1;
mynum += 2;
// now mynum is 3.

mynum += 2; 只是一个简短的形式 mynum = mynum + 2;

2)

var data = [1,2,3,4,5];
var sum = 0;
data.forEach(function(value) {
    sum += value; 
});

总和现在是 15。展开我们拥有的 forEach:

var sum = 0;
sum += 1; // sum is 1
sum += 2; // sum is 3
sum += 3; // sum is 6
sum += 4; // sum is 10
sum += 5; // sum is 15

这只是一个简短的形式:

sum = sum + value;

+=在 JavaScript(以及许多其他语言)中,将右侧添加到左侧的变量中,将结果存储在该变量中。1 +=2因此,您的示例没有意义。下面是一个例子:

var x = 5;
x += 4; // x now equals 9, same as writing x = x + 4;
x -= 3; // x now equals 6, same as writing x = x - 3;
x *= 2; // x now equals 12, same as writing x = x * 2;
x /= 3; // x now equals 4, same as writing x = x / 3;

在您的具体示例中,循环正在对数组中的数字求和data

+= 运算符用于连接字符串或添加数字。

它将使用旁边的金额增加您的 sum 变量。

var sum = 0;
var valueAdded = 5; 

sum += valueAdded;

总和 = 5

它连接字符串但添加数字。
2021-03-13 10:38:20
那么这会使+==.=与php 相关吗?
2021-03-31 10:38:20
谢谢,保罗。连接可能不是最好的术语 ;)
2021-04-09 10:38:20