Loop och return i JavaScript
Låt oss säga att vi har en funktion som returnerar summan
av tal från 1 till 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // skriver ut 15
Låt oss nu placera return
inuti loopen, så här:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
I det här fallet kommer loopen bara att utföra en
iteration och ett automatiskt avslut av funktionen
(och samtidigt av loopen) kommer att ske. Och efter en
iteration av loopen kommer variabeln sum att innehålla
bara talet 1, och inte hela den önskade summan.
Vad kommer att skrivas ut i konsolen som ett resultat av att följande kod körs:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Förklara varför. Vad försökte författaren till denna kod göra? Råtta författarens fel.