Løkker og return i JavaScript
La oss si vi har en funksjon som returnerer summen
av tall fra 1 til 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // vil vise 15
La oss nå plassere return
inni løkken, slik:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
I dette tilfellet vil løkken kun kjøre én
iterasjon og det vil skje en automatisk avslutning
av funksjonen (og dermed også løkken). Og i én
iterasjon av løkken vil variabelen sum inneholde
kun tallet 1, og ikke hele den ønskede summen.
Hva vil bli vist i konsollen som resultat av å kjøre følgende kode:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Forklar hvorfor. Hva var det forfatteren av denne koden ønsket å gjøre? Korriger forfatterens feil.