Loop en return in JavaScript
Stel dat we een functie hebben die de som teruggeeft
van getallen van 1 tot 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // geeft 15 weer
Stel nu dat we return
in de loop plaatsen, zoals hier:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
In dit geval zal de loop slechts één iteratie
doen en zal er een automatische terugkeer
uit de functie plaatsvinden (en dus ook uit de loop). In één
iteratie van de loop zal in variabele sum
slechts het getal 1 staan, en niet de volledige benodigde som.
Wat wordt er in de console weergegeven als resultaat van de uitvoering van de volgende code:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Leg uit waarom. Wat probeerde de auteur van deze code te doen? Verbeter de fout van de auteur.