Пусть у нас есть функция, возвращающая сумму
чисел от 1
до 5
:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // выведет 15
Пусть теперь мы расположим return
внутри цикла, вот так:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
В этом случае цикл прокрутится лишь одну
итерацию и произойдет автоматический выход
из функции (ну и заодно из цикла). А за одну
итерацию цикла в переменной sum
окажется
лишь число 1
, а не вся нужная сумма.
Что выведется в консоль в результате выполнения следующего кода:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Объясните почему. Что хотел сделать автор данного кода? Исправьте ошибку автора.