HTMLCSSJavaScriptIndexRoadmapImpressum

Schleifen

Mit Schleifen wiederholst du Code mehrfach – ohne ihn immer wieder abzutippen. Das spart Zeit und macht Programme flexibler, zum Beispiel wenn du alle Elemente eines Arrays durchgehen oder so lange etwas prüfen willst, bis eine Bedingung erfüllt ist.

Die for-Schleife

Die for-Schleife eignet sich besonders, wenn du genau weißt, wie oft der Code laufen soll. Typisch ist ein Zähler, der bei jedem Durchlauf um eins erhöht wird.

Syntax

Syntax: for

1for (Startwert; Bedingung; Schritt) {
2    // Code, der wiederholt wird
3}

Zählen mit for

1for (let i = 0; i < 5; i++) {
2    console.log("Durchlauf:", i);
3}

Output

Durchlauf: 0

Durchlauf: 1

Durchlauf: 2

Durchlauf: 3

Durchlauf: 4

Im Beispiel startet i bei 0, die Schleife läuft solange i < 5 gilt, und nach jedem Durchlauf wird i um 1 erhöht (i++).

Die while-Schleife

Die while-Schleife prüft zuerst die Bedingung und führt den Code nur aus, solange sie wahr ist. Du nutzt sie, wenn die Anzahl der Durchläufe von einer Bedingung abhängt – zum Beispiel „solange der Benutzer nicht auf Abbrechen klickt".

Syntax

Syntax: while

1while (bedingung) {
2    // Code, der wiederholt wird
3}

while mit Zähler

1let zaehler = 0;
2
3while (zaehler < 3) {
4    console.log("Zähler:", zaehler);
5    zaehler++;
6}

Output

Zähler: 0

Zähler: 1

Zähler: 2

Wichtig: Innerhalb der Schleife muss sich etwas ändern, damit die Bedingung irgendwann falsch wird – sonst läuft die Schleife endlos.

Die do...while-Schleife

Bei do...while wird der Code mindestens einmal ausgeführt, bevor die Bedingung geprüft wird. Das unterscheidet sie von der normalen while-Schleife.

Syntax

Syntax: do...while

1do {
2    // Code, der mindestens einmal ausgeführt wird
3} while (bedingung);

do...while mit Zähler

1let wert = 0;
2
3do {
4    console.log("Wert:", wert);
5    wert++;
6} while (wert < 3);

Output

Wert: 0

Wert: 1

Wert: 2

Die for...of-Schleife

Mit for...of durchläufst du alle Werte eines Arrays oder eines anderen iterierbaren Objekts – ohne einen Index selbst zu verwalten. Das ist oft lesbarer als eine klassische for-Schleife mit Zähler.

Syntax

Syntax: for...of

1for (let element of iterable) {
2    // Code für jedes Element
3}

Array mit for...of durchlaufen

1let farben = ["Rot", "Grün", "Blau"];
2
3for (let farbe of farben) {
4    console.log(farbe);
5}

Output

Rot

Grün

Blau

Die for...in-Schleife

for...in durchläuft die Eigenschaftsnamen (Keys) eines Objekts. Du bekommst also nicht direkt die Werte, sondern die Namen der Eigenschaften – die Werte holst du dir dann über objekt[eigenschaft].

Syntax

Syntax: for...in

1for (let eigenschaft in objekt) {
2    // Code für jede Eigenschaft
3}

Objekt mit for...in durchlaufen

1let person = {
2    name: "Anna",
3    alter: 25,
4    stadt: "Berlin"
5};
6
7for (let eigenschaft in person) {
8    console.log(eigenschaft + ":", person[eigenschaft]);
9}

Output

name: Anna

alter: 25

stadt: Berlin

Für Arrays ist for...of meist die bessere Wahl. for...in eignet sich vor allem für Objekte.

Break und continue

Manchmal willst du eine Schleife vorzeitig beenden oder einen einzelnen Durchlauf überspringen. Dafür gibt es zwei Schlüsselwörter:

  • break – beendet die Schleife sofort
  • continue – springt zum nächsten Durchlauf

break und continue

1for (let i = 1; i <= 10; i++) {
2    if (i === 3) {
3        continue; // überspringt die 3
4    }
5    if (i === 8) {
6        break; // stoppt die Schleife bei 8
7    }
8    console.log(i);
9}

Output

1

2

4

5

6

7

Die 3 wird wegen continue übersprungen. Bei der 8 stoppt break die Schleife – 9 und 10 werden nicht mehr ausgegeben.

Wann welche Schleife?

Es gibt mehrere Schleifenarten – welche du nimmst, hängt von deiner Aufgabe ab. Diese Übersicht hilft dir bei der Entscheidung:

SchleifeVerwendung
forWenn die Anzahl der Durchläufe bekannt ist.
whileWenn die Anzahl der Durchläufe unbekannt ist und von einer Bedingung abhängt.
do...whileWenn der Code mindestens einmal ausgeführt werden soll.
for...ofZum Durchlaufen von Arrays oder anderen iterierbaren Objekten.
for...inZum Durchlaufen der Eigenschaften eines Objekts.

Im nächsten Kapitel lernst du: Funktionen