|
Schleifen mit "while"
Schleifen mit "for"
Mit Hilfe von while-Schleifen können Sie Programmanweisungen solange wiederholen, wie die Bedingung, die in der Schleife formuliert wird, erfüllt ist.
In der Regel enthält eine while-Schleife mehrere Anweisungen, die innerhalb der Schleife stehen. Notieren Sie alle Anweisungen innerhalb geschweifter Klammern { und }, so wie im Beispiel (siehe auch den Abschnitt über Anweisungsblöcke).
Das obige Beispiel stellt eine einfache Passwortabfrage dar. Der Anwender hat drei Versuche, das Passwort richtig einzugeben. Dazu wird eine Schleife eingesetzt.
Um Endlosschleifen zu vermeiden, brauchen Sie irgendetwas, das irgendwann zu einem Ausweg aus der Schleife führt. Meistens werden zu diesem Zweck sogenannte "Zähler" definiert, im Beispiel die Variable Zaehler. Diese Variable hat im Beispiel einen Anfangswert von 0 und wird innerhalb der Schleife bei jedem Durchgang mit der Anweisung Zaehler++; um 1 erhöht. Wenn im Beispiel der Zählerstand größer gleich 3 ist, wird abgebrochen.
Eine andere Möglichkeit, eine Schleife abzubrechen, bietet das reservierte Wort break. Mit der Anweisung if(Versuche == 10) break; etwa notieren Sie innerhalb einer Schleife eine Abbruchbedingung.
Eine spezielle Abart der for-Schleife ist die for-in-Schleife.
Schleifen mit "while"
Anzeigebeispiel: So sieht's aus
Beispiel:
<html>
<head>
<title>User checken</title>
<script language="JavaScript">
<!--
var Passwort = "Traumtaenzer";
var UserEingabe = "";
var Zaehler = 0;
while((UserEingabe != Passwort)&&(Zaehler <= 3))
{
UserEingabe = window.prompt(Zaehler + ". Versuch: geben Sie das Passwort ein","");
Zaehler++;
}
if(UserEingabe != Passwort)
history.back();
else
document.location.href="geheim.htm";
// -->
</script>
</head>
<body>
</body>
</html>
Erläuterung:
Eine while-Schleife beginnt mit dem Wort while (while = solange). Dahinter folgt, in Klammern stehend, die Bedingung. Um eine Bedingung zu formulieren, brauchen Sie Vergleichsoperatoren. Der Inhalt der Schleife wird solange wiederholt, wie die Schleifenbedingung wahr ist. Beachten Sie:
Achten Sie bei solchen Schleifen immer darauf, daß es mindestens eine Möglichkeit gibt, um die Schleife nach einer angemessenen Zeit zu beenden. Andernfalls erzeugen Sie eine sogenannte "Endlosschleife", aus der der Anwender nur durch gewaltsames Beenden des WWW-Browsers herauskommt. Das ist besonders bei Online-Sitzungen im WWW sehr ärgerlich!
Schleifen mit "for"
Mit Hilfe von for-Schleifen vermeiden Sie die Probleme von while-Schleifen. Die Schleifenbedingung einer for-Schleife sieht von vorneherein einen Zähler und eine Abbruchbedingung vor.
Beispiel:
<script language="JavaScript">
<!--
for(i = 1; i <= 100; i++)
{
var x = i * i;
document.write("<br>Das Quadrat von " + i + " ist " + x);
// -->
</script>
Erläuterung:
Eine for-Schleife beginnt mit dem Wort for. Dahinter wird, in Klammern stehend, die Schleifenbedingung formuliert. Bei der for-Schleife gilt dabei eine feste Syntax. Innerhalb der Schleifenbedingung werden drei Anweisungen notiert. In der ersten Anweisung wird ein Schleifenzähler definiert und initialisiert. Im Beispiel wird ein Zähler i definiert und mit dem Wert 1 initialisiert. Die zweite Anweisung enthält die Bedingung, ab der die Schleife beendet wird. Dazu brauchen Sie Vergleichsoperatoren. In der dritten Anweisung wird der Schleifenzähler so verändert, daß er irgendwann die in der zweiten Anweisung notierte Bedingung erfüllt. Im Beispiel wird i bei jedem Schleifendurchgang um 1 erhöht, so daß der Wert irgendwann größer 100 ist und damit die Bedingung der zweiten Anweisung erfüllt.
Das Beispiel benutzt den Schleifenzähler, um bei jedem Schleifendurchgang das Quadrat des aktuellen Werts zu ermitteln. Das Ergebnis wird dann HTML-formatiert ins aktuelle Dokumentfenster geschrieben.
Beispiel:
<script language="JavaScript">
<!--
function Objekteigenschaften(Objekt, ObjName)
{
var Ergebnis = "";
for (var Eigenschaft in Objekt)
{
Ergebnis += ObjName + "." + Eigenschaft + " = " + Objekt[Eigenschaft] + "<br>";
}
return Ergebnis;
}
// -->
</script>
Erläuterung:
In diesem Beispiel ermittelt die Funktion Objekteigenschaften alle Eigenschaften eines JavaScript-Objekts. Die ermittelten Eigenschaften sammelt die Funktion in einer HTML-formatierten Zeichenkette und gibt diese an eine aufrufende Funktion zurück.
Blättern:
Bedingte Anweisungen
Reservierte Wörter
HTML-Dateien selbst erstellen
Dokumentation: JavaScript
JavaScript Sprachelemente