[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/break [Back]  [Original]

break - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

break

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die break-Anweisung beendet die aktuelle Schleife oder die switch-Anweisung und bertrgt die Programmausfhrung auf die Anweisung, die der beendeten Anweisung folgt. Sie kann auch verwendet werden, um eine markierte Anweisung zu berspringen, wenn sie innerhalb dieser markierten Anweisung verwendet wird.

In diesem Artikel

Probieren Sie es aus

let i = 0;

while (i < 6) {
  if (i === 3) {
    break;
  }
  i += 1;
}

console.log(i);
// Expected output: 3

Syntax

js
break;
break label;
label Optional

Bezeichner, der mit dem Label der Anweisung verbunden ist, zu der unterbrochen werden soll. Wenn die break-Anweisung nicht innerhalb einer Schleife oder einer switch-Anweisung verschachtelt ist, ist der Label-Bezeichner erforderlich.

Beschreibung

Wenn break; auftritt, verlsst das Programm die innerste switch- oder Schleifen- Anweisung und fhrt mit der nchsten Anweisung danach fort.

Wenn break label; auftritt, verlsst das Programm die mit label markierte Anweisung und fhrt mit der nchsten Anweisung danach fort. Die break-Anweisung muss innerhalb des referenzierten Labels verschachtelt sein. Die markierte Anweisung kann jede beliebige Anweisung sein (blicherweise eine block-Anweisung); sie muss keine weitere Schleifenanweisung sein.

Eine break-Anweisung, mit oder ohne folgendem Label, kann nicht auf der obersten Ebene eines Skripts, Moduls, Funktionskrpers oder im statischen Initialisierungsblock verwendet werden, selbst wenn die Funktion oder Klasse weiter innerhalb einer Schleife enthalten ist.

Beispiele

break in while-Schleife

Die folgende Funktion enthlt eine break-Anweisung, die die while-Schleife beendet, wenn i den Wert 3 hat, und dann den Wert 3 * x zurckgibt.

js
function testBreak(x) {
  let i = 0;

  while (i < 6) {
    if (i === 3) {
      break;
    }
    i += 1;
  }

  return i * x;
}

break in switch-Anweisungen

Der folgende Code enthlt eine break-Anweisung, die die switch-Anweisung beendet, wenn ein Fall abgeglichen wurde und der entsprechende Code ausgefhrt wurde.

js
const food = "sushi";

switch (food) {
  case "sushi":
    console.log("Sushi is originally from Japan.");
    break;
  case "pizza":
    console.log("Pizza is originally from Italy.");
    break;
  default:
    console.log("I have never heard of that dish.");
    break;
}

break in markierten Blcken

Der folgende Code verwendet break-Anweisungen mit markierten Blcken. Durch die Verwendung von break outerBlock wird die Ausfhrung ans Ende des als outerBlock markierten Blockstatements bertragen.

js
outerBlock: {
  innerBlock: {
    console.log("1");
    break outerBlock; // breaks out of both innerBlock and outerBlock
    console.log(":-("); // skipped
  }
  console.log("2"); // skipped
}

Unsynaktische break-Anweisungen

Eine break-Anweisung muss innerhalb einer markierten Anweisung verschachtelt sein, auf die sie sich bezieht. Der folgende Code verwendet ebenfalls break-Anweisungen mit markierten Blcken, erzeugt jedoch einen Syntaxfehler, da seine break-Anweisung sich auf block2 bezieht, jedoch nicht innerhalb von block2 verschachtelt ist.

js
block1: {
  console.log("1");
  break block2; // SyntaxError: label not found
}

block2: {
  console.log("2");
}

Syntaxfehler werden auch in den folgenden Codebeispielen erzeugt, die break-Anweisungen innerhalb von Funktionen verwenden, die innerhalb einer Schleife oder eines markierten Blocks verschachtelt sind, aus denen die break-Anweisungen ausbrechen sollen.

js
function testBreak(x) {
  let i = 0;

  while (i < 6) {
    if (i === 3) {
      (() => {
        break;
      })();
    }
    i += 1;
  }

  return i * x;
}

testBreak(1); // SyntaxError: Illegal break statement
js
block1: {
  console.log("1");
  (() => {
    break block1; // SyntaxError: Undefined label 'block1'
  })();
}

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-break-statement

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page