Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
continue
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Diecontinue-Anweisung beendet die Ausführung der Anweisungen in der aktuellen Iteration der aktuellen oder benannten Schleife und setzt die Ausführung der Schleife mit der nächsten Iteration fort.
In diesem Artikel
Probieren Sie es aus
let text = "";for (let i = 0; i < 10; i++) { if (i === 3) { continue; } text += i;}console.log(text);// Expected output: "012456789"Syntax
continue;continue label;labelOptionalKennung, die mit dem Label der Anweisung verknüpft ist.
Beschreibung
Im Gegensatz zurbreak-Anweisung beendetcontinue nicht die Ausführung der Schleife insgesamt, sondern:
- In einer
while- oderdo...while-Schleife springt es zurück zur Bedingung. - In einer
for-Schleife springt es zum Aktualisierungsausdruck. - In einer
for...in,for...of, oderfor await...of-Schleife springt es zur nächsten Iteration.
Diecontinue-Anweisung kann ein optionales Label enthalten, das es dem Programm ermöglicht, zur nächsten Iteration einer benannten Schleifenanweisung zu springen, anstatt zur innersten Schleife. In diesem Fall muss diecontinue-Anweisung innerhalb dieser benannten Anweisung verschachtelt sein.
Einecontinue-Anweisung, mit oder ohne folgendes Label, kann nicht auf der obersten Ebene eines Skripts, Moduls, Funktionskörpers oderstatischen Initialisierungsblocks verwendet werden, selbst wenn die Funktion oder Klasse weiter in einer Schleife verschachtelt ist.
Beispiele
>Verwendung von continue mit while
Das folgende Beispiel zeigt einewhile-Schleife, die einecontinue-Anweisung enthält, die ausgeführt wird, wenn der Wert voni 3 ist. Somit nimmtn die Werte 1, 3, 7 und 12 an.
let i = 0;let n = 0;while (i < 5) { i++; if (i === 3) { continue; } n += i;}Verwendung von continue mit einem Label
Im folgenden Beispiel enthält eine mitcheckIAndJ benannte Anweisung eine ebenfalls mitcheckJ benannte Anweisung. Wenncontinue auftritt, setzt das Programm an der Spitze dercheckJ-Anweisung fort. Jedes Mal, wenncontinue auftritt, wirdcheckJ so lange wiederholt, bis seine Bedingungfalse zurückgibt. Wennfalse zurückgegeben wird, wird der Rest dercheckIAndJ-Anweisung abgeschlossen.
Wenncontinue ein LabelcheckIAndJ hätte, würde das Programm an der Spitze dercheckIAndJ-Anweisung fortfahren.
let i = 0;let j = 8;checkIAndJ: while (i < 4) { console.log(`i: ${i}`); i += 1; checkJ: while (j > 4) { console.log(`j: ${j}`); j -= 1; if (j % 2 === 0) continue; console.log(`${j} is odd.`); } console.log(`i = ${i}`); console.log(`j = ${j}`);}Ausgabe:
i: 0// start checkJj: 87 is odd.j: 7j: 65 is odd.j: 5// end checkJi = 1j = 4i: 1i = 2j = 4i: 2i = 3j = 4i: 3i = 4j = 4
Unsyntaktische continue-Anweisungen
continue kann nicht innerhalb von Schleifen verwendet werden, die Funktionsgrenzen überschreiten.
for (let i = 0; i < 10; i++) { (() => { continue; // SyntaxError: Illegal continue statement: no surrounding iteration statement })();}Beim Verweisen auf ein Label muss die benannte Anweisung diecontinue-Anweisung enthalten.
label: for (let i = 0; i < 10; i++) { console.log(i);}for (let i = 0; i < 10; i++) { continue label; // SyntaxError: Undefined label 'label'}Die benannte Anweisung muss eine Schleife sein.
label: { for (let i = 0; i < 10; i++) { continue label; // SyntaxError: Illegal continue statement: 'label' does not denote an iteration statement }}Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-continue-statement> |