Есть задача: нужно вызвать функцию sumTo с аргументом n. n - это сколько раз нужно добавить к i единицу. Почему мне возвращает 101? т.е. почему прибавляется только один раз если есть for? пробовал и while, видимо тут не в цикле проблема.
function sumTo(n) {
for (var i = 1; i <= n; i++) {
i = i + 1;
}
return i;
}
console.log(sumTo(100));
Проблема в цикле.
Переменная i является счетчиком цикла. На каждой итерации проверяется значение этой переменной и если оно больше параметра n происходит выход из цикла.
Таким образом при вызове sumTo(100) как только значение суммы становится больше 100, в данном случае 101 - происходит выход из цикла и возврат значение переменной.
Если нужно просуммировать числа от 1 до n, то результат лучше хранить в отдельной переменной:
function sumTo(n) {
var sum = 0;
for (var i = 1; i <= n; i++) {
sum = sum + i;
}
return sum;
}
console.log(sumTo(100));
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости