+ =(加上相等)如何工作?

muu*_*ess 49 javascript

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

  1. 1 += 2 // 等于 ?

  2. 还有这个

    var data = [1,2,3,4,5];
    var sum = 0;
    data.forEach(function(value) {
        sum += value; 
    });
    sum = ?
    
    Run Code Online (Sandbox Code Playgroud)

law*_*sea 71

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

x += y是简写x = x + y.

  • @JpHouten你的评论并不是真正的答案,但即便如此,我觉得我应该回复它.首先,你的意思是 - ,而不是 - =因为你198.51 - = 84.4只是给出一个错误.但大多数情况下,这不是一个错误.这只是计算机以二进制而不是十进制表示数字这一事实的结果,而像198.51和84.4这样的数字不能用二进制表示,但必须是四舍五入的.这是浮点数的标准部分.如果您需要精确(而非近似)十进制计算,则应使用定点数. (17认同)

Pau*_*aul 30

1)1 + = 2 //等于?

这在语法上是无效的.左侧必须是变量.例如.

var mynum = 1;
mynum += 2;
// now mynum is 3.
Run Code Online (Sandbox Code Playgroud)

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

2)

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

Sum现在是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
Run Code Online (Sandbox Code Playgroud)


Tud*_*tin 15

这只是一个简短形式:

sum = sum + value;
Run Code Online (Sandbox Code Playgroud)


Pau*_*aul 12

+=在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;
Run Code Online (Sandbox Code Playgroud)

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


cil*_*arl 5

+= operator用于连接字符串或添加数字.

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

var sum = 0;
var valueAdded = 5; 

sum += valueAdded;
Run Code Online (Sandbox Code Playgroud)

sum = 5