JavaScript Do-While-Schleife

Anders als bei der kopfgesteuerten Variante der While-Schleife handelt es sich bei der Do-While-Schleife um eine Fußgesteuerte Schleife. Dies bedeutet, dass die Schleifenbedingung nicht schon vor dem Eintreten in den Schleifenkörper geprüft wird, sondern erst nachdem der Schleifenkörper zum ersten mal ausgeführt wurde. Eine einmalige Ausführung der Schleife ist also damit garantiert, während die While-Schleife nicht unbedingt ausgeführt wird.

Auch die For-Schleife und ihre Varianten, die For-Each-Schleife und die For-In-Schleife sind kopfgesteuert. Bei diesen wird die Schleifenbedingung, ebenso wie bei der While-Schleife, vor Eintritt in den Schleifenkörper abgefragt. Welche der in JavaScript verfügbaren Schleifenvarianten in einem speziellen Fall eingesetzt werden muss, hängt von der zu implementierenden Problemstellung ab.

JavaScript do while Beispiel:

Im unten stehenden JavaScript-Code wird das Do-While-Statement demonstriert. Die geschweiften Klammern, die den Schleifenkörper umschliessen, können in diesem Beispiel auch weggelassen werden, da im vorliegenden Fall lediglich eine einzige Anweisung im Schleifenkörper ausgeführt wird.

Bei der ersten im Script notierten Schleife hat i bei Eintritt in die Schleife den Wert 0. Im ersten Durchgang wird der Summe also der Wert 0 hinzuaddiert. Erst jetzt folgt die Auswertung der Schleifenbedingung – sie ist gegeben – und i wird um eins erhöht (i++: NACH Auswertung des Ausdrucks wird i erhöht; ++i: VOR Auswertung wird erhöht).

Da die Schleifenbedingung erfüllt ist, wird die Schleife nun erneut ausgeführt. Dieser Vorgang wird solange wiederholt, bis die Variable i den Wert 10 erreicht hat und die Schleifenbedingung somit nicht mehr gegeben ist. Der Wert von i wird im Beispiel jeweils nach Auswertung der Schleifenbedingung inkrementiert, wodurch i nach der Schleife den Wert 11 enthält.

Nach der Schleife werden die errechnete Summe, sowie der aktuell in i gespeicherte Wert ausgegeben. Hierzu wird write(), eine Methode des Document-Object, verwendet die Ausgaben in einem HTML-Dokument ermöglicht. Auch die zweite Do-While-Anweisung wird zumindest einmal ausgeführt. Hier wird der aktuelle Wert von i zur Summe addiert. Die danach folgende Schleifenbedingung ist aber nicht erfüllt, was dazu führt, dass die Schleife nicht ein weiteres mal ausgeführt wird. Durch i++ in der Schleifenbedingung wird i nach Auswertung des Ausdrucks (hier 11 < 10 = FALSE) wiederum um eins inkrementiert – i hat also am Ende den Wert 12. Zum Schluß wird wieder per document.write() die Summe und der aktuelle Wert von i ausgegeben.

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// In sum wird die Summe der Werte gespeichert, die
// i in den While-Schleifen annimmt.
var sum = 0;
// Variable, die als Zähler verwendet wird
var i = 0;

// Hier wird in der Schleife die Summe gebildet
do {
  sum += i;
// Schleifenbedingung am Fuß der Schleife abfragen
} while (i++ < 10);
// Ausgabe der errechneten Summe
document.write ('sum: ' + sum + '<br>');

// i hat an dieser Stelle bereits den Wert 11 angenommen
document.write ('i: ' + i + '<br>');
// Unbedingter Eintritt in die Schleife
do {
  sum += i;
// Schleifenbedingung ist nach einmaliger Ausführung nicht
// erfüllt, was zur Folge hat, dass die Schleife nicht ein
// weiteres mal ausgeführt wird.
} while (i++ < 10);
document.write ('sum: ' + sum + '<br>');
// i hat nun den Wert 12
document.write ('i: ' + i);
// -->
</script>



¬ Insolvenzrecht