Ciklas ir return JavaScripte
Tarkime, kad turime funkciją, kuri grąžina skaičių
sumą nuo 1 iki 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // išvestų 15
Tarkime dabar, kad return bus
patalpintas ciklo viduje, štai taip:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
Šiuo atveju ciklas suksis tik vieną
kartą ir automatiškai bus išeita iš
funkcijos (o kartu ir iš ciklo). O per vieną
ciklo iteraciją kintamajame sum atsidurs
tik skaičius 1, o ne visa reikalinga suma.
Kas bus išvesta į konsolę vykdant šį kodą:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Paaiškinkite kodėl. Ką norėjo padaryti šio kodo autorius? Ištaisykite autoriaus klaidą.