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.
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>
Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr
von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 AntwortHallo,
damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr
Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr
von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 AntwortIch hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr
Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr
von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 AntwortenJa genau, das war der Fehler. Vielen Dank Alex.
Hier der korrigierte Code:
<html>
<head>
<title>
Test
... » mehr
Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr
von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 AntwortenJa hervorragend, dass ist genau das was ich möchte. Danke ... » mehr
Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr
von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 AntwortenSoo...hat lange gedauert...aber jetzt ist es endlich ... » mehr
¬ Menu
¬ Gratis Download
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp

JavaScript kurz & gut
Weitere JavaScript Literaturtipps finden Sie unter JavaScript Bücher
Webdesign •
Beratung Internetseite •
Programmierung Internetseite