Schleifen führen Anweisungen mehrfach hintereinander aus, bis eine bestimmte Bedingung erfüllt ist.
Bei Zählschleifen ist die Bedingung ein Zähler oder eine Elementanzahl.
Die For-Schleife erwartet als Parameter einen Anfangsausdruck (Deklaration und Initialisierung der Zählervariable: var i=0), danach eine Bedingung (Test der Zählervariable: i<10) und zuletzt eine Veränderung (verändern der Zählervariable: i++). Im Gegensatz zu Funktionsparametern werden diese mit Semikolon getrennt.
Der Anfangsausdruck wird vor Schleifenbeginn ausgeführt. Dann werden die Anweisungen im Block ausgeführt. Die Bedingung wird nach jeden Schleifendurchlauf geprüft und die Veränderung zuletzt durchgeführt.
Anmerkung: Für Zählervariablen nimmt man gerne die Variablennamen „i“, „j“, „n“ und „m“.
for (Anfangsausdruck; Bedingung; Veränderung) { Anweisungen; }
Beispiel:
<script type="text/javascript"> var Schleife = "Durchlauf:"; for (var i=0; i<10; i++) { Schleife = Schleife + " " + i; } alert(Schleife); </script>
Die For-Schleife über eine Elementanzahl braucht keine Bedingung und Veränderung. Die Zählervariable durchläuft automatisch die Anzahl der Elemente des Objekts, das nach dem Schlüsselwort in angegeben ist.
Beachten sie, dass die Zählervariable numerische Werte enthält. Wollen sie beispielsweise die Elemente eines Arrays durchlaufen, greifen sie auf dessen Elemente mit [Zählervariable] zu.
for (var Element in Array/Objekt) { Anweisungen; }
Beispiel:
<script type="text/javascript"> var Tiere = new Array ('Hund','Katze','Maus'); var Schleife = "Tiere:"; for (var t in Tiere) { Schleife = Schleife + " " + Tiere[t]; } alert(Schleife); </script>
Schleifen laufen nicht nur über eine Anzahl, sondern können auch eine allgemeine Bedingung (Ereignis) als Abbruch haben. Dass heißt, es ist vorher noch nicht bekannt, wieviele Durchläufe eine Schleife hat.
Diese Art von Schleifen können anfangs- oder endbedingt sein.
Bei anfangsbedingten Schleifen wird die Schleifenbedingung vor dem ersten Durchlauf der Schleife geprüft. So kann es sein, dass die Schleife auch gar nicht ausgeführt wird. Diese Schleifenart benötigt nur eine Bedingung und einen Anweisungsteil:
while (Wahrheitswert) { Anweisungen; }
Beispiel:
<script type="text/javascript"> var Anzahl = 0; while (confirm("Nochmal? (" + Anzahl + ")")) { Anzahl++; } </script>
Bei endbedingten Schleifen wird die Schleifenbedingung nach dem ersten Durchlauf der Schleife geprüft. So wird die Schleife immer mindens einmal ausgeführt. Diese Schleifenart benötigt nur eine Bedingung und einen Anweisungsteil:
do { Anweisungen; } while (Wahrheitswert);
Beispiel:
<script type="text/javascript"> var Anzahl = 0; do { Anzahl++; } while (confirm("Nochmal? (" + Anzahl + ")")) </script>
Um noch flexibler innerhalb von Schleifen auf Bedingungen eingehen zu können, können sie mit break und continue den Schleifenablauf noch besser kontrollieren.
Beispiel:
<script type="text/javascript"> var Anzahl = 0; do { if (!confirm("Nochmal? (" + Anzahl + ")")) break; continue; Anzahl++; } while (true) </script>