JavaScript-Schleifen (for-Schleife, while-Schleife, do-while-Schleife)
for-Schleife
Schleifen wiederholen Anweisungen solange, wie die Bedingung zutrifft. Hüten sollten wir uns allerdings vor sogenannten Endlosschleifen. Hier trifft die Bedingung immerzu, die Schleife endet also nie. Dies führt meist zu einem Speicherüberlauf und entsprechend zum Browserabsturz.
Die for-Schleife eignet sich besonders als Zähler. Die allgemeine Syntax lautet:
for (Start-Anweisung; Bedingung; End-Anweisung) {
Anweisungsblock;
}
Die Start-Anweisung wird nur einmal beim ersten Aufruf der Schleife ausgeführt. Die Bedingung wird vor jedem Schleifendurchlauf geprüft. Und nach dem Schleifendurchlauf erfolgt die Ausführung der End-Anweisung. Beim Durchlauf selbst wird der komplette Anweisungsblock ausgeführt.
Nun ein Beispiel mit einem Zähler. Wir möchten mit einer beliebigen Zahl x die Zahlen von 1 bis 10 multiplizieren und jeweils die Zwischenergebnisse ausgeben.
var x = 5;
for (var i = 1; i <= 10; i++) {
x *= i;
document.write(x + "<br />");
}
while-Schleife
Bei der while-Schleife können wir keine Start- und keine End-Anweisung vergeben. Die allgemeine Syntax lautet:
while (Bedingung) {
Anweisungsblock;
}
Trotz dieser Einschränkung lässt sich unser obiges Beispiel auch mit einer while-Schleife realisieren. Die Start- und End-Anweisung werden einfach vor die Schleife bzw. in den Anweisungsblock geschrieben.
var x = 5;
var i = 1;
while (i <= 10) {
x *= i;
document.write(x + "<br />");
i++;
}
do-while-Schleife
Die Besonderheit der do-while-Schleife ist, dass die Bedingung erst nach dem ersten Ausführen der Schleife geprüft wird. Die allgemeine Syntax lautet:
do {
Anweisungsblock;
} while (Bedingung)
Nun wird unser obiges Beispiel so modifiziert, dass die Bedingung i kleiner gleich 10 nicht erfüllt wird.
var x = 5;
var i = 11;
do {
x *= i;
document.write(x + "<br />");
i++;
} while (i <= 10);
Obwohl die Bedingung von Anfang an nicht erfüllt ist, wird der Anweisungsblock der Schleife einmal durchlaufen. Erst danach wird die Bedingung überprüft und die Schleife verlassen. Es erfolgt also trotzdem eine Ausgabe. In der Praxis wird diese Schleife nur eingesetzt, wenn dieses Verhalten erwünscht wird, obwohl sie auch Aufgaben der anderen Schleifen übernehmen könnte.