js.08 Schleifen


Mit Hilfe einer Programmier-Schleife können Blöcke von Anweisungen mehrmals ausgeführt werden.

In JavaScript gibt es drei Schleifenarten:

  • for-Schleife
  • while-Schleife
  • do-while-Schleife

Der Aufbau einer for-Schleife ist wie folgt:

wiederhole (Zählvariable festlegen; Abbruchbedingung; Zählvariable verändern) {
    // Anweisungen
}

In JavaScript wird das wie folgt notiert:

for (let i = 0; i < 10; i++) {
    // Anweisungen
}

Mit folgendem Programm werden die Zahlen von 1 bis 10 ausgegeben. Dazu wird eine Zählvariable i mit einem Startwert von 0 festgelegt. Die Wiederholungsschleife soll solange wiederholt werden, bis i nicht mehr kleiner als 11 ist. Dazu wird bei jedem Schleifendurchlauf die Variable i um 1 erhöht (i++).

Die Werte können beliebig geändert werden.

Eine Schleife kann auch rückwärts laufen.


Die Zählvariable kann im Anweisungsblock z.B. für Rechnungen verwendet werden.

Eine Wiederholungsschleife kann auch mit dem Schlüsselwort while notiert werden.

wiederhole solange(Bedingung) {
    // Anweisungen
}

In JavaScript wird das wie folgt notiert:

while(...) {
  // Anweisungen
}

Die while-Schleife läuft solange, bis die Bedingung in der Klammer den Wert false bekommt.

Schreibt man ein Programm, in welchem die Bedingung nie den Wert false bekommt, hat man eine Endlos-Schleife, die immer weiter läuft und den Browser blockiert. Wenn man beim folgenden Programm auf "Ausführen..." klickt, hängt sich der Browser auf, man muss den Tab schließen und die Seite neu aufrufen.

Es ist wichtig dafür zu sorgen, dass die Bedingung in der while-Schleife sicher den Wert false bekommen kann.

Eine Wiederholungsschleife kann auch mit den Schlüsselworten do und while notiert werden.

tue folgendes {
  // Anweisungen
} solange (Bedingung)

In JavaScript wird das wie folgt notiert:

do {
  // Anweisungen
} while(...)

Die do-while-Schleife wird mindestens einmal ausgeführt, auch wenn die Bedingung hinter while bereits falsch ist.

Mit Hilfe der Anweisung break; kann die Ausführung einer Wiederholungsschleife vorzeitig beendet werden.


Eine while-Schleife kann auch mit der break-Anweisung abgebrochen werden.

Wenn in einer for-Schleife ein Durchlauf übersprungen werden soll, dann kann das mit der Anweisung continue erreicht werden. Im folgenden Beispiel werden zwei Zahlen ausgelassen.

Bei folgender while-Schleife wird die continue-Anweisung ausgeführt und die Schleife springt zur Bedingung. Da die Zählvariable nicht mehr vergrößert wird, springt die while-Schleife endlos zwischen continue und Bedingung hin und her.

let a = 0;

while(a < 20){
  if(a == 8){
    continue;
  }
  clog(a);
  a++;
}

Bei einer while-Schleife muss also zuerst die Zählvariable verändert werden, bevor die continue-Anweisung erreicht wird. Dann funktioniert auch in der while-Schleife das Überspringen einzelner Schleifen-Durchläufe.


Teste dich!

  • Schreibe ein Programm mit einer for-Schleife, welche die geraden Zahlen zwischen 0 und 20 ausgibt.

  • Schreibe ein Programm mit einer while-Schleife, welche die Vielfachen von 3 bis 30 ausgibt.

  • Schreibe ein Programm mit einer do-while-Schleife, welches von 10 rückwärts zählt.

  • Schreibe ein Programm mit einer for-Schleife, welche die Zahlen zwischen 0 und 20 ausgibt, die Zahlen 8 und 13 auslässt und bei 18 die Schleife abbricht.