Lus en return in JavaScript
Gestel ons het 'n funksie wat die som van
getalle van 1 tot 5 teruggee:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // sal 15 vertoon
Gestel ons plaas nou die return
binne die lus, soos volg:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
In hierdie geval sal die lus slegs een iterasie
uitvoer en daar sal outomatiese uittrede uit die
funksie plaasvind (en dus ook uit die lus). In een
iterasie van die lus sal die veranderlike sum
slegs die getal 1 bevat, en nie die vereiste
totale som nie.
Wat sal in die konsole vertoon word as gevolg van die uitvoering van die volgende kode:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Verduidelik hoekom. Wat wou die skrywer van hierdie kode doen? Korrigeer die skrywer se fout.