Cyklus a return v JavaScript
Majme funkciu, ktorá vráti súčet
čísel od 1 do 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // vypíše 15
Teraz umiestnime return
vnútri cyklu, takto:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
V tomto prípade sa cyklus prejde iba raz
a dôjde k automatickému ukončeniu
funkcie (a zároveň cyklu). A po jednom
prechode cyklu bude v premennej sum
iba číslo 1, a nie celý požadovaný súčet.
Čo sa vypíše do konzoly ako výsledok vykonania nasledujúceho kódu:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Vysvetlite prečo. Čo chcel autor tohto kódu urobiť? Opravte chybu autora.