edubun
Deutsch

Schleifen: for und while

Die ganzen Zahlen von 1 bis 100 von Hand zu addieren, dauert eine Weile. Eine for-Schleife mit drei Zeilen erledigt das sofort und gibt 5050 aus.

Dasselbe viele Male tun

Die Zahlen 1 bis 5 mit fünf console.log-Zeilen auszugeben, ist in Ordnung. 1 bis 1000 auf diese Weise nicht. Eine Schleife führt denselben Codeblock immer wieder aus und ändert dabei jedes Mal ein wenig, bis eine Bedingung „Stopp“ sagt. Bei Schleifen zeigen Computer, was sie können: Sie langweilen sich nie und verzählen sich nie.

Die for-Schleife

for (let i = 1; i <= 5; i++) {
  console.log(i);
}
// gibt 1, 2, 3, 4, 5 in eigenen Zeilen aus

Die runden Klammern nach for enthalten drei Teile, getrennt durch Semikolons. Der erste, let i = 1, läuft einmal vor dem Start der Schleife und legt eine Zählvariable an. Der zweite, i <= 5, ist die Bedingung, geprüft vor jeder Runde. Wird sie false, endet die Schleife. Der dritte, i++, läuft nach jeder Runde und zählt weiter. Ein Durchlauf durch den Block heißt Iteration. Geh es durch: i ist 1, die Bedingung ist true, 1 wird ausgegeben, i wird 2, und so weiter, bis i 6 wird, die Bedingung false ist und das Programm nach der schließenden Klammer weitermacht.

Die Zählvariable heißt meist i, eine Tradition aus der Mathematik, aber jeder Name funktioniert. Du kannst auch in anderen Schritten zählen: for (let i = 10; i >= 0; i -= 2) zählt rückwärts 10, 8, 6, 4, 2, 0.

Eine Summe aufbauen

Das häufigste Schleifenmuster ist der Akkumulator. Leg vor der Schleife eine Variable an, aktualisiere sie in der Schleife und verwende sie danach. Hier ist die Summe vom Anfang:

let sum = 0;
for (let i = 1; i <= 100; i++) {
  sum += i;
}
console.log(sum);   // 5050

Achte darauf, wo jede Zeile steht. Stünde let sum = 0 in der Schleife, würde sum bei jeder Iteration zurückgesetzt. Stünde console.log darin, würde es 100 Zwischensummen ausgeben statt einer Antwort. Was vor und nach der Schleife steht, ist genauso wichtig wie die Schleife selbst.

Die while-Schleife

Eine while-Schleife hat nur eine Bedingung. Sie führt ihren Block so lange aus, wie die Bedingung true ist. Nimm sie, wenn du vorher nicht weißt, wie viele Runden du brauchst, etwa wenn du eine Zahl so lange verdoppelst, bis sie 1000 überschreitet.

let n = 1;
let steps = 0;
while (n <= 1000) {
  n *= 2;
  steps++;
}
console.log(n, steps);   // 1024 10

Etwas in einer while-Schleife muss die Bedingung irgendwann false machen. Vergisst du die Zeile, die n ändert, bleibt die Bedingung für immer true. Das ist eine Endlosschleife, und die Seite friert ein. Passiert das in einer Übungsbox, lade die Seite neu und korrigiere den Code. Bei einer for-Schleife steht der Aktualisierungsschritt im Kopf, deshalb passiert dieser Fehler dort seltener.

break und continue

Zwei Schlüsselwörter ändern den Ablauf in einer Schleife. break verlässt die Schleife sofort. continue überspringt den Rest der aktuellen Iteration und springt zur nächsten. Eine Schleife über 1 bis 10 mit if (i % 3 === 0) continue; am Anfang gibt zum Beispiel jede Zahl außer 3, 6 und 9 aus.

Durchgerechnetes Beispiel. Wie viele Zahlen von 1 bis 50 sind Vielfache von 7? Starte mit let count = 0, lass i von 1 bis 50 laufen und schreib in die Schleife if (i % 7 === 0) count++;. Nach der Schleife ist count 7: Es sind 7, 14, 21, 28, 35, 42 und 49.

for (Start; Bedingung; Update) { Rumpf } for (let i = 1; i <= 5; i++)

SchleifeCode, der einen Block immer wieder ausführt
IterationEin Durchlauf durch den Schleifenrumpf
ZählerDie Variable, die Runden zählt, oft i
AkkumulatorEine Variable, die in einer Schleife aufgebaut wird, etwa sum
whileWiederholt, solange eine Bedingung true ist
EndlosschleifeEine Schleife, deren Bedingung nie false wird
breakDie Schleife sofort verlassen
continueZur nächsten Iteration springen
  1. Wie viele Zeilen gibt das aus?
    for (let i = 0; i < 4; i++) {
      console.log(i);
    }
  2. Welche Zahl wird zuletzt ausgegeben?
    for (let i = 0; i < 4; i++) {
      console.log(i);
    }
  3. Was gibt das aus?
    let total = 0;
    for (let i = 1; i <= 4; i++) {
      total += i;
    }
    console.log(total);
  4. Was gibt das aus?
    let p = 1;
    for (let i = 1; i <= 5; i++) {
      p *= 2;
    }
    console.log(p);
  5. Was gibt das aus?
    let n = 10;
    while (n > 3) {
      n -= 3;
    }
    console.log(n);
  6. Wie viele Zeilen gibt das aus?
    for (let i = 10; i >= 0; i -= 2) {
      console.log(i);
    }
  7. Was gibt das aus?
    for (let i = 1; i <= 10; i++) {
      if (i === 4) break;
      console.log(i);
    }
    • 1 2 3 on separate lines
    • 1 to 10 except 4
    • 1 2 3 4 on separate lines
  8. Wie viele Zeilen gibt das aus?
    for (let i = 1; i <= 10; i++) {
      if (i % 2 === 0) continue;
      console.log(i);
    }
  9. Was stimmt mit dieser Schleife nicht?
    let i = 0;
    while (i < 5) {
      console.log(i);
    }
    • Nichts
    • i ändert sich nie, also hört sie nie auf
    • Sie gibt nichts aus
  10. Was gibt das aus?
    let count = 0;
    for (let i = 1; i <= 50; i++) {
      if (i % 7 === 0) count++;
    }
    console.log(count);
Das Wichtigste
  • for (Start; Bedingung; Update) { ... } wiederholt, solange die Bedingung true ist.
  • Akkumulatoren vor der Schleife anlegen, darin aktualisieren, danach verwenden.
  • while (Bedingung) { ... } passt für Schleifen mit unbekannter Rundenzahl.
  • Etwas muss die Bedingung false machen, sonst endet die Schleife nie.
  • break verlässt die Schleife; continue springt zur nächsten Runde.
Quellen zu diesem Kurs (2)
  • MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
  • Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)

Abgerufen: 2026-10-17