добавление javascript внутри цикла for

Обычно я использую циклы для увеличения/уменьшения, перебора массивов, объектов и т.д.

При написании Javascript Koans меня поставила в тупик одна из первых проблем.

var result = 0;
 for (var i = 0; i <=5; i++) {
 result += i;
}
console.log(result); //15

Я не понимаю, почему это выводит 15. Оглядываясь вокруг, я не могу найти другого вопроса по этому поводу - или документации, которая позволила бы мне узнать больше. "+=" не является допустимым условием поиска в Google.

Источник здесь (1-й/2-й вопрос): https://github.com/liammclennan/JavaScript-Koans/blob/master/topics/about_operators.js

Спасибо!


person Jahsa    schedule 12.01.2015    source источник
comment
Не говорите, что вы новичок в программировании, это не имеет значения. Ответ никогда не будет таким: этот код работает, только если вы занимаетесь программированием в течение 5 лет: x. Этот сайт предназначен для того, чтобы задавать вопросы, и я предполагаю, что вы не новичок в том, чтобы задавать вопросы.   -  person JK.    schedule 13.01.2015
comment
+= — это один из операторов присваивания, в частности оператор добавление   -  person Patrick Evans    schedule 13.01.2015
comment
JK, спасибо, исправлю. Патрик, спасибо за ссылки, это именно то, что мне нужно, чтобы понять это.   -  person Jahsa    schedule 13.01.2015
comment
Я думаю, когда кто-то отмечает, что он новичок в кодировании, это означает, что ответы должны попытаться более подробно объяснить любые основы, а не делать предположения о предшествующих знаниях...   -  person Marty    schedule 13.01.2015


Ответы (1)


Что ж, давайте разберем это шаг за шагом: цикл выполняется 6 раз, на каждой итерации происходит 2 вещи: i увеличивается, а текущее значение i добавляется к result, поэтому

result = 0 + 1 + 2 + 3 + 4 + 5 = 15

в большинстве языков программирования x += y является синтаксическим сахаром (т.е. сокращением) для x = x + y

person mmgross    schedule 12.01.2015
comment
Ах, это оператор +=, который я не совсем понял. Это прекрасно объясняет, чего я не понимал, спасибо! - person Jahsa; 13.01.2015