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
Label
einer 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 2017 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) |