<script>
for(let i = 0; i < 8; i++) {
console.log( i + ", ");
}
</script>
In Javascript und anderen Programmiersprachen gibt es verschiedene Schleifen, die dazu dienen Anweisungen mehrmals auszuführen. Das mehrmalige Ausführen einer Anweisung nennt man Iteration.
Die For-Schleife hat eine durchlaufende Variable mit einem Wert, welche man in den Anweisungen nutzen kann.
for(Zählvariable mit Startwert, Bedingung, Zählmuster/Inkrement, Dekrement){
auszuführende Anweisung so oft, bis Bedingung nicht mehr erfüllt ist;
}
In der Klammer der For-Schleife werden 3 Dinge definiert und mit Semikolon getrennt.
Zuerst eine Variable mit Startwert. Es ist Konvention diese Variable i zu nennen.
let i = 0;
Dann eine Bedingung
i < 8;
Dann ein Zählmuster, Inkerement, Dekrement
i ++;
In den geschweiften Klammern kann man eine oder mehrere Anweisungen einfügen. Die Variable i steht in den Anweisungen zur Verfügung.
console.log(i);
In diesem Beispiel werden die Zahlen von 0 bis 7 mit Komma getrennt mittels console.log() ausgegeben.
Was läuft hier im Einzelnen ab?
for(var i = 0; i < 8; i++) {
document.write( i + ", ");
}
Die Schleife beginnt mit der Zählvariable i= 0;
Die Anweisung document.write wird das erste mal ausgeführt, dadurch erscheint
auf der Seite die Textzeile: 0,
Das Zählmuster wird ausgeführt i++ oder i=i+1 also wird dem jetzigen
Wert i=0 eine 1 hinzuaddiert, also ist nun i=1
Die Bedinung ist immer noch erfüllt i ist kleiner 8
Die Anweisung document.write wird ausgeführt, also wird wieder ein Text angehängt, diesmal 1,
Das wiederholt sich solange bis die Bedingung nicht mehr erfüllt, also wenn i nicht mehr kleiner als 8 ist. Daher endet die Schleife hier bei der i = 7.
Das Ergebnis sieht dann so aus.
0, 1, 2, 3, 4, 5, 6, 7
Eine Schleife kann mit break abgebrochen werden.
Die folgende Schleife läuft nur bis 4;
for(var i=0; i < 20; i++){ if(i == 5){break;} document.write(i); }
Eine Schleife kann mit continue unterbrochen werden. Die folgenden Schleife spart die 5 aus.
for(var i=0; i < 10; i++){ if(i == 5) continue; document.write(i); }