Homepage-Webhilfe Event-Banner

Schleifen

Mit Hilfe von Schleifen können Sie bestimmte Vorgänge mehrmals ausführen bzw. eine Liste (z. B. Array oder Vektor) durchgehen. In AS gibt es 5 verschiedene Schleifen: for, while, do-while, for-in und for-each.

Jede Schleife besitzt einen Block, welcher u. U. mehrmals ausgeführt und als Schleifenrumpf bezeichnet wird. Die Bedingung, welche ebenfalls zu einer Schleife gehört, mit allen dazu gehörigen Schlüsselwörtern und Anweisungen wird als Schleifenkopf oder Schleifenfuß bezeichnet.

Um eine Schleife frühzeitig zu verlassen, notieren wir das Schlüsselwort break (mit Semikolon). Die Anweisung continue; führt dazu, dass die Ausführung des Schleifenrumpfs beendet und erneut zum Schleifenkopf gesprungen wird. Einer erneuten Ausführung des Schleifenrumpfs steht dabei nichts im Wege, sofern die Bedingung noch zutrifft.


Eine Zählschleife wird dazu verwendet, einen bestimmten Vorgang n mal auszuführen. Gekennzeichnet ist diese Schleife durch das Schlüsselwort for. Hinter dem Schlüsselwort folgt ein rundes Klammernpaar, in welchem drei Teile angegeben werden müssen und durch Semikolon getrennt werden: Variablendeklaration oder -zuweisung, Bedingung und Anweisung nach dem Ausführen des Schleifenkopfs. Die Anweisung im 3. Teil des Schleifenkopfs wird bei der klassischen Zählschleife zur Inkrementierung einer Zählervariablen (meistens mit dem Name i, j etc.) verwendet und nach jedem Durchlauf des Schleifenrumpfs ausgeführt. Die Bedingung wird vor jedem Durchlauf der Schleife geprüft, weshalb die for-Schleife auch zu den sogenannten kopfgesteuerten Schleifen gehört.

for (var i:int = 0; i < 10; i++)
	trace(i);

Ausgabe:

0
1
2
3
4
5
6
7
8
9
Download

Eine kopfgesteuerte Schleife ist eine einfache Schleife, deren Bedingung vor der Ausführung des Schleifenrumpfs geprüft wird. Der Schleifenkopf besteht aus dem Schlüsselwort while und der Bedingung (angegeben in runden Klammern). Das untere Beispiel zeigt, wie das obige Beispiel mit der for-Schleife mittels einer while-Schleife ersetzt werden kann.

var i:int = 0;

while (i < 10)
{
	trace(i);
	
	i++;
}

Ausgabe:

0
1
2
3
4
5
6
7
8
9
Download

Wichtig: In der Praxis sollten Sie für einen solchen Zählvorgang ausschließlich die for-Schleife und nicht die while-Schleife verwenden.


Bei der do-while-Schleife wird die Bedingung am Ende geprüft, weshalb es sich um eine fußgesteuerte Schleife handelt. Daraus folgt, dass der Schleifenrumpf mindestens einmal ausgeführt wird, da die Bedingung vor der ersten Ausführung nicht geprüft wird. Vor dem Block notieren wir das Schlüsselwort do. Nach der schließenden geschweiften Klammer wird der Schleifenfuß, bestehend aus dem Schlüsselwort while, der Bedingung in runden Klammern und dem Semikolon, angegeben.

var i:int = 0;

do
{
	trace(i);
	
	i++;
} while (i < 10);

Ausgabe:

0
1
2
3
4
5
6
7
8
9
Download

Wichtig: Auch hier möchten wir nochmals darauf hinweisen, dass die do-while-Schleife nicht als Ersatz für die for-Schleife verwendet werden soll und zudem kein Ersatz für die while-Schleife darstellt, da die Bedingung hier am Ende und bei den anderen zwei Schleifen am Anfang geprüft wird.


Die sogenannte „Array-Schleife“ (auch Iterationsschleife genannt) ermöglicht das „durchgehen“ der Elemente eines Arrays, Vektors oder der Eigenschaften eines Objekts. Als Schleifen stehen uns hier die for-in-Schleife und die for-each-in-Schleife zur Verfügung. Bei der for-in-Schleife setzt sich der Schleifenkopf aus dem Schlüsselwort for und einem runden Klammernpaar, in welchem eine „temporäre“ Variable deklariert wird sowie das Schlüsselwort in und der Name des Arrays, Vektors oder Objekts angegeben wird, zusammen. Die „temporäre“ Variable enthält dabei den Index für das Array oder den Vektor bzw. den Eigenschaftsnamen für das Objekt.

var sprachen:Array = new Array("HTML", "CSS", "JavaScript", "ActionScript", "PHP", "Perl", "ASP.NET");
for (var sprache:int in sprachen)
    trace(sprachen[sprache]);

Eine ähnliche Funktion bietet die for-each-in-Schleife. Hier wird nach dem Schlüsselwort for zusätzlich das Schlüsselwort each angegeben. Des Weiteren enthält die „temporäre“ Variable nicht den Index sondern den Wert des Elements bzw. der Eigenschaft. Das Beispiel von oben lässt sich mittels der for-each-in-Schleife also wie folgt darstellen.

var sprachen:Array = new Array("HTML", "CSS", "JavaScript", "ActionScript", "PHP", "Perl", "ASP.NET");

for each (var sprache:String in sprachen)
	trace(sprache);

Ausgabe:

HTML
CSS
JavaScript
ActionScript
PHP
Perl
ASP.NET
Download
Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK