break

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 ein switch-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)

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,