Цыкл і return у JavaScript
Няхай у нас ёсць функцыя, якая вяртае суму
лікаў ад 1
да 5
:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // выведзе 15
Няхай цяпер мы размесцім return
ўнутры цыкла, вось так:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
У гэтым выпадку цыкл пракруціцца ўсяго адну
ітэрацыю і адбудзецца аўтаматычны выхад
з функцыі (ну і заадно з цыкла). А за адну
ітэрацыю цыкла ў зменнай sum
апынецца
ўсяго толькі лік 1
, а не ўся патрэбная сума.
Што выведзецца ў кансоль у выніку выканання наступнага кода:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Тлумачце чаму. Што хацеў зрабіць аўтар дадзенага кода? Выпраўце памылку аўтара.