| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/continue | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Die continue-Anweisung beendet die Ausfhrung der Anweisungen in der aktuellen Iteration der aktuellen oder benannten Schleife und setzt die Ausfhrung der Schleife mit der nchsten Iteration fort.
let text = "";
for (let i = 0; i < 10; i++) {
if (i === 3) {
continue;
}
text += i;
}
console.log(text);
// Expected output: "012456789"
continue;
continue label;
label OptionalKennung, die mit dem Label der Anweisung verknpft ist.
Im Gegensatz zur break-Anweisung beendet continue nicht die Ausfhrung der Schleife insgesamt, sondern:
while- oder do...while-Schleife springt es zurck zur Bedingung.for-Schleife springt es zum Aktualisierungsausdruck.for...in, for...of, oder for await...of-Schleife springt es zur nchsten Iteration.Die continue-Anweisung kann ein optionales Label enthalten, das es dem Programm ermglicht, zur nchsten Iteration einer benannten Schleifenanweisung zu springen, anstatt zur innersten Schleife. In diesem Fall muss die continue-Anweisung innerhalb dieser benannten Anweisung verschachtelt sein.
Eine continue-Anweisung, mit oder ohne folgendes Label, kann nicht auf der obersten Ebene eines Skripts, Moduls, Funktionskrpers oder statischen Initialisierungsblocks verwendet werden, selbst wenn die Funktion oder Klasse weiter in einer Schleife verschachtelt ist.
Das folgende Beispiel zeigt eine while-Schleife, die eine continue-Anweisung enthlt, die ausgefhrt wird, wenn der Wert von i 3 ist. Somit nimmt n die Werte 1, 3, 7 und 12 an.
let i = 0;
let n = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
n += i;
}
Im folgenden Beispiel enthlt eine mit checkIAndJ benannte Anweisung eine ebenfalls mit checkJ benannte Anweisung. Wenn continue auftritt, setzt das Programm an der Spitze der checkJ-Anweisung fort. Jedes Mal, wenn continue auftritt, wird checkJ so lange wiederholt, bis seine Bedingung false zurckgibt. Wenn false zurckgegeben wird, wird der Rest der checkIAndJ-Anweisung abgeschlossen.
Wenn continue ein Label checkIAndJ htte, wrde das Programm an der Spitze der checkIAndJ-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 checkJ j: 8 7 is odd. j: 7 j: 6 5 is odd. j: 5 // end checkJ i = 1 j = 4 i: 1 i = 2 j = 4 i: 2 i = 3 j = 4 i: 3 i = 4 j = 4
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 die continue-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
}
}
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-continue-statement |
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |