Cyklus a return v JavaScript
Nechť máme funkci, která vrací souč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
Nyní umístíme return
uvnitř 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 případě se cyklus provede pouze v jedné
iteraci a dojde k automatickému ukončení
funkce (a zároveň i cyklu). A v jedné
iteraci cyklu bude v proměnné sum
pouze číslo 1, a ne celý požadovaný součet.
Co se vypíše do konzole jako výsledek provedení následujícího kódu:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Vysvětlete proč. Co chtěl autor tohoto kódu udělat? Opravte chybu autora.