Break und Continue
Schleifen können jede Runde bis zum Ende laufen — bis du sie steuerst. Manchmal hast du die Antwort und willst stoppen. Manchmal ist ein Eintrag Unsinn und du willst ihn überspringen, dann weiter. break verlässt die Schleife sofort. continue springt zur nächsten Runde. Dieselbe Schleifenfamilie; zwei kleine Wörter ändern den Flugweg.
Was macht break?
break beendet die nächste umgebende Schleife jetzt. Spätere Runden laufen nicht. Was nach der Schleife im Skript steht, läuft trotzdem. Denk: „Fertig — raus.“ Typisch bei der Suche nach dem ersten Treffer, ohne den Rest zu scannen.
break vs continue
📊 Schleife unterwegs steuern
| Schlüsselwort | Wirkung | Alltagstauglich |
|---|---|---|
break |
Schleife jetzt verlassen | erster Treffer gefunden; nicht weiter warten |
continue |
Rest dieser Runde überspringen, nächste starten | einen schlechten Eintrag ignorieren; weiter scannen |
| keines | jede Runde führt den ganzen Rumpf aus | jeder Eintrag braucht dieselbe Verarbeitung |
| nach der Schleife | Code unter der Schleife läuft weiter | break verlässt nur die Schleife, nicht das ganze Skript |
Nimm break, wenn spätere Runden nutzlos sind. Nimm continue, wenn eine Runde still bleiben soll, der Lauf aber weitergeht. Vertausche sie nicht — der Bug wirkt „fast richtig“ und ist schwer zu finden.
const nums = [2, 4, 7, 8];
let found = null;
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 7) {
found = nums[i];
break;
}
}
console.log(found);
Stoppen, wenn der Treffer da ist
Die Schleife prüft 2, dann 4, dann 7. Bei 7 speichert sie den Wert und macht break. 8 läuft nicht. found ist 7. Ohne break würde die Schleife nach bekannter Antwort weiterlaufen.
for (let i = 1; i <= 5; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
Eine Runde überspringen und weiter
Ist i gerade, springt continue zum nächsten i. Die console.log-Zeile entfällt für diese Runden. Du siehst 1, 3, 5. Die Schleife ist nicht zu Ende — sie hat nur gerade Zahlen ausgelassen.
let n = 1;
while (n < 20) {
if (n === 5) {
break;
}
console.log(n);
n = n + 1;
}
while früh verlassen
while liefe weiter, solange n < 20. Bei n === 5 beendet break. Gedruckt: 1–4. Passt zu „weiter bis Stopp-Regel, dann raus“ — ohne jede mögliche Runde.
const colors = ["red", "skip", "blue"];
for (const c of colors) {
if (c === "skip") {
continue;
}
console.log(c);
}
Werte in for...of überspringen
for...of läuft weiter über Werte. continue ignoriert "skip" und loggt red, dann blue. Die Steueridee gilt für for, while und for...of — nur die nächste umgebende Schleife.
const parts = ["A", "x", "B", "x", "C"];
let msg = "";
for (const p of parts) {
if (p === "x") {
continue;
}
msg = msg + p;
}
console.log(msg);
Beim Zusammenfügen filtern
Jedes "x" wird übersprungen; Buchstaben hängen an. Ergebnis: ABC. Dieselbe Join-Gewohnheit früherer Schleifenlektionen — continue ist das Filtertor im Lauf.
break und continue auf der Seite zeigen
Lauf über eine kurze Liste, überspringe ein Label mit continue, stoppe früh mit break nach einer Marke, schreibe das Ergebnis in die Seite.
<!DOCTYPE html>
<html>
<head>
<title>break / continue — page</title>
</head>
<body>
<p id="out">…</p>
<script>
const items = ["a", "skip", "b", "stop", "c"];
let line = "";
for (const item of items) {
if (item === "skip") {
continue;
}
if (item === "stop") {
break;
}
line = line + item + " ";
}
let box = document.getElementById("out");
box.textContent = "kept=" + line.trim();
</script>
</body>
</html>
Die Seite zeigt kept=a b. "skip" wurde ignoriert; "stop" beendete die Schleife vor "c". Ändere das Array, aktualisiere, lies die neue Zeile. Nächste Lektion: Funktionen — wiederverwendbare Blöcke, die du per Namen aufrufst.
Selbst ausprobieren
- In einem
forüber[3, 9, 1]bei Wert9breakund speichern. - Nur ungerade Zahlen von
1bis6mitcontinueauf Geraden loggen. - In einem
whilemitbreakstoppen, wenn der Zähler3erreicht. - Mit
for...ofauf["ok", "no", "ok"]"no"percontinueüberspringen. ["1", "-", "2"]zu12joinen, indem"-"übersprungen wird.- In der HTML-Demo nur das Array ändern, aktualisieren,
kept=lesen.
Häufige Fehler
- Glauben,
continuebeendet die ganze Schleife (das istbreak) - Nach
breakin derselben Runde noch Arbeit — sie läuft nie - In
whilecontinueohne vorherigen Zähler-Update — Endlosschleifen-Risiko breaknutzen, wenn nur ein Skip nötig war- Erwarten,
breakverlässt das ganze Skript — nur die nächste Schleife
Kurzfassung
break— Schleife jetzt verlassen; spätere Runden laufen nichtcontinue— Rest dieser Runde überspringen; nächste starten- Funktioniert in
for,whileundfor...of - Suche oft mit
break; Filtern oft mitcontinue - Code nach der Schleife läuft nach
breakweiter - Weiter: Funktionen — einen Arbeitsblock benennen und aufrufen
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt