Цикл и return у JavaScript-у
Претпоставимо да имамо функцију која враћа суму
бројева од 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) );
Објасните зашто. Шта је аутор овог кода хтео да уради? Исправите ауторову грешку.