JavaScript While-Schleife

In JavaScript gibt es verschiedene Möglichkeiten zur Programmierung von Schleifen in JavaScript, die zur mehrfachen Ausführung von JavaScript-Code gedacht sind. Neben der For-Schleife, von der es zwei weitere Varianten gibt – nämlich die For-In-Schleife und die For-Each-Schleife – wird an dieser Stelle die kopfgesteuerte While-Schleife beschrieben.

Als kopfgesteuert kann man diese Schleife bezeichnen, da die Schleifenbedingung vor der Ausführung der im Schleifenblock notierten Anweisungen abgefragt wird. Ist die Schleifenbedingung (Vorbedingung) nicht erfüllt, so wird der Anweisungsblock innerhalb der Schleife auch nicht ausgeführt. Beachten Sie auch die Variante der While-Schleife, welche unter Do-While-Schleife beschrieben wird. Die Do-While-Schleife ist eine rumpfgesteuerte Schleife, da die Schleife mindestens einmal durchlaufen wird und die Schleifenbedingung erst nach Ausführung des Schleifenkörpers zum erstenmal ausgewertet wird.

JavaScript While Beispiel:

Im folgenden Beispiel werden zwei kopfgesteuerte While-Schleifen gelistet. Dabei wird allerdings nur die erste der beiden Schleifen auch ausgeführt. Bei der ersten While-Anweisung ist die Schleifenbedingung gegeben, da die Zählervariable zuvor mit dem Wert 0 initialisiert wird. Durch den Ausdruck in der Schleifenbedingung wird nach erfolgter Prüfung des Ausdrucks „i++ < 10” – also 0 < 10, was den Wert TRUE liefert; die Bedingung ist also erfüllt – in den Schleifenkörper eingetreten.

Der Ausdruck i++ bewirkt, dass die Variable i nach erfolgter Auswertung des Ausdrucks um eins inkrementiert (erhöht) wird. Nun wird die Summe in sum im ersten Schritt um 1 (den jetzt in i gespeicherten Wert) erhöht wurde, gelangt das Script in seiner Ausführung wieder an die Schleifenbedingung. Dies wird wiederholt, bis die Schleifenbedingung den Wert FALSE liefert – also bis i den Wert 10 angenommen hat. Da nach der Auswertung des Ausdrucks in der Schleifenbedingung der Wert von i nochmals um eins erhöht wird, steht nach dem While-Statement in i der Wert 11.

Als nächstes wird die errechnete Summe und danach der in i gespeicherte Wert jeweils mit document.write() ausgegeben. Die auf die Ausgaben folgende While-Schleife wird nun nicht mehr ausgeführt, da die Schleifenbedingung nun nicht mehr gegeben ist. Da i nun den Wert 11 hat, liefert die Auswertung der Schleifenbedingung nun 11 < 10 = FALSE. Das Programm tritt nun aufgrund der nicht gegebenen Vorbedingung nicht mehr in den Schleifenkörper ein und erhöht (durch i++ im Ausdruck) i nochmals um eins. Am Ende des Scripts werden die Werte von sum und i nochmals per Write-Methode des Document-Object ausgegeben.

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Variable zur Speicherung einer Summe von Zahlen
var sum = 0;
// Zählervariable
var i = 0;

// Die Variable i wurde mit 0 initialisiert!
// Aus diesem Grunde ist die Schleifenbedingung der folgenden
// While-Schleife gegeben und sie wird ausgeführt.
while (i++ < 10)
  // Sie berechnet die Summe der Zahlen von 0 bis 10.
  sum += i;
// Ausgabe der errechneten Summe
document.write ('sum: ' + sum + '<br>');

// An diesem Punkt enthält die Variable i den Wert 11!
document.write ('i: ' + i + '<br>');
// Die Schleifenbedingung ist hier nicht erfüllt (11 ist nicht
// kleiner als 10), weshalb
// die folgende While-Schleife nicht ausgeführt wird.
while (i++ < 10)
  sum += i;
// Die errechnete Summe ändert sich also nicht mehr!
document.write ('sum: ' + sum + '<br>');
// i hat nun den Wert 12
document.write ('i: ' + i);
// -->
</script>



¬ Insolvenzrecht