Schleife und return in JavaScript
Nehmen wir an, wir haben eine Funktion, die die Summe
der Zahlen von 1 bis 5 zurückgibt:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // gibt 15 aus
Nehmen wir nun an, wir platzieren return
innerhalb der Schleife, so:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
In diesem Fall wird die Schleife nur eine Iteration
durchlaufen und ein automatisches Verlassen der Funktion
(und damit auch der Schleife) erfolgen. In einer Iteration
der Schleife befindet sich in der Variable sum
nur die Zahl 1, und nicht die gesamte benötigte Summe.
Was wird in der Konsole als Ergebnis der Ausführung des folgenden Codes ausgegeben:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Erklären Sie, warum. Was wollte der Autor dieses Codes tun? Korrigieren Sie den Fehler des Autors.