Cikls un return JavaScript
Pieņemsim, ka mums ir funkcija, kas atgriež skaitļu summu
no 1 līdz 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // izvadīs 15
Pieņemsim, ka mēs tagad novietosim return
cikla iekšpusē, šādi:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
Šajā gadījumā cikls izpildīsies tikai vienu
iterāciju un notiks automātiska iziešana
no funkcijas (un līdz ar to arī no cikla). Un vienas
cikla iterācijas laikā mainīgajā sum nonāks
tikai skaitlis 1, nevis visa nepieciešamā summa.
Kas tiks izvadīts konsolē šāda koda izpildes rezultātā:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Paskaidrojiet kāpēc. Ko gribēja izdarīt šī koda autors? Izlabojiet autora kļūdu.