Silmukka ja return JavaScriptissä
Oletetaan, että meillä on funktio, joka palauttaa lukujen summan
1:stä 5:een:
javascriptfunction func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // tulostaa 15
Oletetaan nyt, että sijoittamme return
silmukan sisään, näin:
javascriptfunction func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
Tässä tapauksessa silmukka pyörähtää vain yhden
iteraation verran ja funktiosta (ja samalla silmukasta) poistutaan automaattisesti.
Ja yhden iteraation aikana muuttujaan sum päätyy
vain luku 1, eikä koko tarvittavaa summaa.
Задание 1
Mitä seuraava koodi tulostaa konsoliin suorituksen jälkeen:
javascriptfunction func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Selitä miksi. Mitä tämän koodin tekijä yritti tehdä? Korjaa tekijän virhe.