Die break Anweisung beendet die aktuelle Schleife, switch-Anweisung oder Anweisungen die mit einem label versehen sind und sorgt dafür, dass das Programm mit der Anweisung weiterläuft, die auf die beendete Anweisung folgt.
Syntax
break [Label];
Label- Optional. Ein Bezeichner, der mit einem
Labeleiner Anweisung in Verbindung gebracht werden kann. Es wird vorausgesetzt, dass die Anweisung, die beendet wird, eine Schleife oder einswitch-Statement ist.
Beschreibung
Die break Anweisung enthält ein optionales Label, mit dem es möglich ist, eine mit einem Label versehene Anweisung zu beenden. Dabei muss sich die break Anweisung innerhalb der Anweisung, die mit einem Label versehen ist, befinden. Die Anweisung, die mit einem Label versehen ist, kann jede Block-Anweisung sein und muss nicht zwingend eine Schleife sein.
Beispiele
Die folgende Funktion nutzt eine break Anweisung die die while Schleife beendet, wenn i gleich 3 ist. Danach gibt die Funktion 3 * x zurück.
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3) {
break;
}
i += 1;
}
return i * x;
}
Der folgende Quelltext benutzt die break Anweisungen mit einem Label auf einem Block. Weil inner_block innerhalb vom Block mit dem outer_block Label ist, funktioniert break fehlerfrei.
outer_block:{
inner_block:{
console.log ('1');
break outer_block; // breaks out of both inner_block and outer_block
console.log (':-('); // skipped
}
console.log ('2'); // skipped
}
Der folgende Quelltext benutzt eine break Anweisung, die nicht auf ein Label verweist, in dem sich das break befindet. Dieses ist nicht möglich, weshalb ein SyntaxError erzeugt wird.
block_1:{
console.log ('1');
break block_2; // SyntaxError: Label nicht gefunden
}
block_2:{
console.log ('2');
}
Spezifikationen
| Spezifikation | Status | Kommentar |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | Standard | Initiale Definition. nur die Version ohne Labels hinzugefügt. |
| ECMAScript 3rd Edition (ECMA-262) | Standard | Version mit Labels hinzugefügt. |
| ECMAScript 5.1 (ECMA-262) Die Definition von 'Break statement' in dieser Spezifikation. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Break statement' in dieser Spezifikation. |
Standard | |
| ECMAScript Latest Draft (ECMA-262) Die Definition von 'Break statement' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |