Zanka in return v JavaScript
Recimo, da imamo funkcijo, ki vrne vsoto
števil 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); // izpiše 15
Recimo zdaj, da postavimo return
znotraj zanke, takole:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
V tem primeru se bo zanka zavrtela le eno
ponovitev in prišlo bo do samodejnega izhoda
iz funkcije (in obenem iz zanke). In v eni
ponovitvi zanke bo v spremenljivki sum
le število 1, ne pa celotne zahtevane vsote.
Kaj se bo izpisalo v konzolo kot rezultat izvajanja naslednje kode:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Razložite zakaj. Kaj je želel narediti avtor te kode? Popravite avtorjevo napako.