Как работает + = (плюс равный)?

Я немного смущен знаком + =. Как это работает?

  • 1 += 2//равно?

  • и этот

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

Ответ 1

1 += 2 является синтаксической ошибкой (левая сторона должна быть переменной).

x += y является сокращением для x = x + y.

Ответ 2

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

Ответ 3

Это всего лишь короткая форма для:

sum = sum + value;

Ответ 4

+= в 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.

Ответ 5

Оператор

+= используется для конкатенации строк или добавления чисел.

Он увеличит вашу суммарную переменную с суммой рядом с ней.

var sum = 0;
var valueAdded = 5; 

sum += valueAdded;

sum = 5

Ответ 6

Вы должны знать, что:

  • Синтаксис операторов присваивания: variable = expression;

    По этой причине 1 += 21 = 1 + 2 не является допустимым синтаксисом, так как левый операнд не является переменной. Ошибка в этом случае равна ReferenceError: invalid assignment left-hand side.

  • x += y - это короткая форма для x = x + y, где x - переменная и x + y выражение.

    Результат суммы 15.

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

Другие оператор присваивания работают так же (относительно стандартных операций, на которые они ссылаются). .

Ответ 7

... и не забывайте, что происходит при смешивании типов:

x = 127;
x += " hours "
// x is now a string: "127 hours "
x += 1 === 0;
// x is still a string: "127 hours false"

Ответ 8

a += b является сокращением для a = a +b, что означает:

1) 1 += 2//не будет компилировать

2) 15

Ответ 9

x+=y является сокращением на многих языках для set x to x + y. Сумма будет, как намечено ее именем, суммой чисел в data.

Ответ 10

NO 1+=2!=2 это означает вы добавите 1+2. Но это даст вам синтаксическую ошибку. Предположим, что переменная имеет тип int int a=1; тогда a+=2; означает a=1+2; и увеличить значение a от 1 до 3.

Ответ 12

что только сокращенная нотация на большинстве языков. Это означает, что

х = х + 1;

мы можем выполнить ту же операцию для x = 1, x * = 1, x/= 1; что означает

> x = x-1; х = х * 1; х = х/1;