Menü

for (JScript)

Zurück | Ebene zurück

Die Schleifenanweisung „for“ (=für) gehört zu den Ablaufsteuerungs-Anweisungen und führt eine Anweisung mehrfach aus. Über Parameter kann ein Startwert für einen Schleifenzähler gesetzt, eine Abbruchbedingung und ein Erhöhungswert eingetragen werden.

Syntax

for (Initialisierungszuweisung; Prüfung; Veränderung)
  Anweisung

Mit der Initialisierungszuweisung wird der Schleifen-Variablen ein Startwert zugewiesen.

Über die Prüfung der Schleifenvariablen lässt sich eine Bedingung angeben, die zu einem erreichbaren Zeitpunkt die Schleife abbricht. Daher ist es wichtig, dass die Bedingung auch irgend wann erreicht werden kann, sonst hat man eine Endlosschleife gebaut.

Der Veränderungswert gibt an, um welchen Wert die Schleifenvariable im Wert erhöht bzw. erniedrigt wird. In der Regel wird die Variable um den Wert 1 erhöht.

Beispiel 1

var
  Ergebnis= "";

for (i = 0; i<9; i++) { ergebnis ergebnis + i; }< />
    

Hier wird die Variable „Ergebnis“ zunächst mit einem leeren Text deklariert. Die  Schleifenvariable „i“ wird mit dem Wert 0 initialisiert. Hat die Schleifenvariable einen Wert der unter 9 ist, wird die Anweisung in der Schleife ausgeführt und der Schleifenzähler über die Inkrement-Anweisung „i++“ um den Wert 1 erhöht.

Die Anweisung in der Schleife baut einen Ergebnistext zusammen, der mit jeder Anweisung seinen alten Wert nimmt und den Schleifenwert an das Ende hinzufügt. Am Ende kommt das Ergebnis "012345678" als Text heraus.

Beispiel 2

Das folgende Beispiel zeigt eine leichte Abwandlung indem es herunterzählt, und es hat eine optimierte Ergebniszuweisung.

var
  Ergebnis= "";

for (i = 9; i>=0; i--)
{
  Ergebnis+= i;
}

Die Schleifenvariable „i“ wird hier mit dem Wert 9 initialisiert. Bei jedem durchlauf wird der Schleifenzähler um den Wert 1 erniedrigt, und zwar solange, bis der Wert von „i“ unter den Wert 0 geht.

Die Ergebnis-Variable wird hier ebenfalls addiert, jedoch wird die Verbundene Zuweisung „+=“ verwendet.

Beispiel 3

Die Schleifenvariable muss nicht unbedingt um den Wert eins erhöht oder erniedrigt werden. Es kann hier jeder Wert verwendet werden. Dies erfolgt ebenfalls mit der verbundenen Zuweisung. Hierzu ein Beispiel:

var
  Ergebnis= "";

for (i = 0; i<9; i+="2)" { ergebnis+ i; }< />
    

Der Erhöhungswert wird hier in Zweierschritten durchgeführt. Im Ergebnis wird nach Durchlaufen der Schleife der Text „02468“ stehen.

Beispiel 4

Dies ist ein Fehlerbeispiel für eine Endlosschleife. Die Schleife wird hier solange durchgeführt bis die Schleifenvariable den größten darstellbaren Zahlenwert erreicht hat.

// Endlosschleife
var
  Ergebnis= "";

for (i = 1; i>0; i++)
{
  Ergebnis+= i;
}

Beispiel 5

Das folgende Fehlerbeispiel wird ebenfalls für ewige Zeiten durchgeführt. Da die Schleifenerhöhung als verbundene  Zuweisung eine Multiplikation mit 3 enthält, aber die Schleifenvariable mit 0 initialisiert wurde, wird der Wert der Schleifenvariable nie erhöht. Die Schleife wird also endlos ausgeführt und die Anwendung „hängt“.

// Endlosschleife
var
  Ergebnis= "";

for (i = 0; i<9; i*="3)" { ergebnis+ i; }< />