Løkke og return i JavaScript
Lad os sige, at vi har en funktion, der returnerer summen
af tal 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 udskrive 15
Lad os nu placere return
inde i løkken, sådan her:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
I dette tilfælde vil løkken kun køre én
iteration og der vil ske en automatisk afslutning
af funktionen (og dermed også af løkken). Og ved én
iteration af løkken vil variablen sum indeholde
kun tallet 1, og ikke hele den ønskede sum.
Hvad vil blive udskrevet i konsollen som resultat af udførelsen af 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. Hvad ville forfatteren af denne kode gøre? Ret forfatterens fejl.