Tracks
/
JavaScript
JavaScript
/
Lehrplan
/
while-Schleifen
wh

while-Schleifen in JavaScript

8 Übungen

Über while-Schleifen

Allgemeine Syntax

Mit einer while-Schleife kannst du Code so lange wiederholt ausführen, wie eine bestimmte Bedingung erfüllt ist.

Sie wird mit dem while-Schlüsselwort geschrieben, gefolgt von einer Bedingung in runden Klammern und einem Block in geschweiften Klammern, der den Schleifenblock enthält.

while (condition) {
  // code that is executed repeatedly as long as the condition is
  // true
}

JavaScript kennt außerdem eine do-while-Schleife. Hier prüft JavaScript die Bedingung erst, nachdem der Schleifenblock ausgeführt wurde. Das ist nützlich, wenn die Bedingung von Auswertungen abhängt, die im Block vorgenommen werden.

do {
  // The code here will always be executed once and then
  // repeatedly while the condition is true.
} while (condition);

Break

Innerhalb eines Schleifenblocks kannst du das break-Schlüsselwort verwenden, um die Ausführung der Schleife vollständig zu beenden. Das wird oft in Kombination mit true als Bedingung verwendet. Damit kannst du von jeder Stelle im Schleifenblock aus steuern, wann die Schleife stoppen soll.

const winningNumber = 7;

while (true) {
  const num = readUserGuess();
  if (num === winningNumber) {
    break;
  }
}

Das break-Schlüsselwort kann nicht innerhalb einer Funktion verwendet werden, die in der Schleife verschachtelt ist, ein Beispiel findest du in der MDN-Dokumentation.

Continue

Im Gegensatz zu break stoppt das Schlüsselwort continue nur die Ausführung der aktuellen Iteration und fährt mit der nächsten fort. Mit continue kannst du oft vermeiden, große Teile des Schleifenblocks in eine if-Anweisung zu packen.

let i = 0;

while (i < 100) {
  i = i + 2;

  if (i % 3 === 0) {
    continue;
  }

  // The code here will only be executed when i was not divisible
  // by 3 in the check above.
}

Endlosschleifen

Eine Schleife, die (theoretisch) immer weiter wiederholt wird, entsteht, wenn die Schleifenbedingung immer erfüllt ist und im Schleifenblock keine break- oder return-Anweisung erreicht wird. Die Ausführung muss von außen beendet werden. Je nach Umgebung, in der solcher Code läuft, geschieht das automatisch oder erfordert einen manuellen Eingriff.

let i = 0;

while (i < 100) {
  if (i % 3 === 0) {
    continue;
  }

  i = i + 2;
}

// This loop runs forever since the variable i does not change
// anymore after it is divisible by 3 the first time.

Endlosschleifen zu erkennen mag in diesem einfachen Beispiel trivial erscheinen, ist aber bei komplexerem Code nicht immer so leicht. Es ist gute Praxis, gründlich darüber nachzudenken, ob deine Bedingung irgendwann falsch wird oder ob deine break- oder return-Anweisung erreicht wird.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab

Lerne while-Schleifen