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>

Letzte Posts aus unserem Forum

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Montag, 23. Januar 2012 17:02 von alm

Hallo, wenn es um einen MP3-Player geht, dann sollte jplayer das Richige sein. Einfach mal den Suchschlitz der Suchmaschine Deiner Wahl nutzen. ... » mehr

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet

Galerie Erweiterung

Hi, zu erst mal ein Lob an Eure Galerie. Nun habe ich allerdings eine Frage um die Galerie eventuell zu erweitern. Derzeit wird auf meiner Seite ... » mehr

von G-RuN am Dienstag, 25. Januar 2011 17:13 in JavaScript - bisher 8 Antworten
Letzter Beitrag: Dienstag, 1. Februar 2011 17:11 von G-RuN

Hat sich erledigt. Mir haben noch die Zuweisung von der Variablen anzahl_bilder und anzahl_thumbnails gefehlt. Grüße, ... » mehr

bei submit ein neues Fenster öffnen

Hallo, ich habe hier ein kleines Problem und ... » mehr

von Kallchen am Freitag, 14. Januar 2011 23:07 in JavaScript - bisher 3 Antworten
Letzter Beitrag: Samstag, 15. Januar 2011 12:47 von alm

window.location = "_blankeineseite.html"; Das funktioniert auf keinen Fall. Die Location-Eigenschaft muss eine URL enthalten und wird bei ... » mehr



¬ Insolvenzrecht