Die for-Schleife in JavaScript
Syntax
- Syntax
Iterationsanweisung .-------------------. .-------------------. .-------------------.
.---. .-. | .----------. v .-. | .----------. v .-. | .----------. v .-. .-----------.
--->( for )--->( ( )---'--->| Ausdruck |---'--->( ; )---'--->| Ausdruck |---'--->( ; )---'--->| Ausdruck |---'--->( ) )--->| Anweisung |--->
'---' '-' '----------' '-' '----------' '-' '----------' '-' '-----------'
Semantik
Der erste Ausdruck wird gegebenenfalls einmalig vor dem Anfang der Schleife ausgewertet.
Der zweite Ausdruck wird gegebenenfalls wie in einer while-Schleife interpretiert. Falls er fehlt, gilt er als wahr.
Der letzte Ausdruck wird gegebenenfalls nach jeder Ausführung der Anweisung ausgewertet.
- Syntax mit beschreibenden Begriffen
Iterationsanweisung .--------------------------. .--------------------. .------------------.
.---. .-. | .-----------------. v .-. | .-----------. v .-. | .---------. v .-. .--------.
--->( for )--->( ( )---'--->| Initialisierung |---'--->( ; )---'--->| Bedingung |---'--->( ; )---'--->| Schritt |---'--->( ) )--->| Inhalt |--->
'---' '-' '-----------------' '-' '-----------' '-' '---------' '-' '--------'
Anmerkungen
Eine Schleife »for( A ; B ; C )D « entspricht in vielen Fällen dem Block »{ A ; while( B ){ D C ; }}«.
Mit »for(;;)« kann eine Art von Endlosschleife eingeleitet werden, da eine fehlende Bedingung als wahr gilt.
Beispiel
Das folgende Beispiel zeigt eine einfache Zählschleife mit »for«.
- Konsolenprotokoll
"use strict"; { let i = 0; for( i = 0; i < 4; i = i + 1 )console.log( i ); }
0
1
2
3undefined
Das folgende Beispiel zeigt eine while-Schleife mit derselben Ausgabe wie die vorangehende for-Schleife.
- Konsolenprotokoll
"use strict"; { let i = 0; while( i < 4 ){ console.log( i ); i = i + 1; undefined; }}
0
1
2
3undefined
»const« in Schleifen
Es ist erlaubt, Konstanten im Rumpfe einer Schleife zu deklarieren und zu initialisieren, selbst wenn sie dann bei jedem Schleifendurchlauf einen anderen Wert erhalten. Das »const« verhindert es, daß während der Ausführung des es enthaltenden Blocks eine Zuweisung an die Konstante ausgeführt wird.
- Konsolenprotokoll
"use strict"; { let i = 0; for( i = 0; i < 4; ++i ){ const j = i; console.log( j ); }}
0
1
2
3undefined
- Quellen
- ECMAScript 2016: 13.7.4.2 The for Statement
Übungsfragen
Übungsfrage
Was gibt das folgende Skript aus?
- Script
for( console.log( i = 4 ); console.log( i ); console.log( i ))console.log( i );
Übungsaufgaben
Weitere Übungsaufgaben, zu deren Lösung auch Schleifen geschrieben werden können, finden sich in einer separaten Lektion mit Übungsaufgaben am Ende des Grundkurses.
/ Schreiben einer for-Anweisung
Schreiben Sie eine for-Anweisung mit der Initialisierung »7«, der Bedingung »8«, dem Schritt »9« und dem Inhalt »return;«.
- Syntax mit beschreibenden Begriffen
Iterationsanweisung .--------------------------. .--------------------. .------------------.
.---. .-. | .-----------------. v .-. | .-----------. v .-. | .---------. v .-. .--------.
--->( for )--->( ( )---'--->| Initialisierung |---'--->( ; )---'--->| Bedingung |---'--->( ; )---'--->| Schritt |---'--->( ) )--->| Inhalt |--->
'---' '-' '-----------------' '-' '-----------' '-' '---------' '-' '--------'