Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

do...while

BaselineWidely available

Diedo...while-Anweisung erstellt eine Schleife, die eine angegebene Anweisung ausführt, solange die Prüfbedingung als wahr ausgewertet wird. Die Bedingung wird nach der Ausführung der Anweisung ausgewertet, was dazu führt, dass die angegebene Anweisung mindestens einmal ausgeführt wird.

Probieren Sie es aus

let result = "";let i = 0;do {  i += 1;  result += i;} while (i < 5);console.log(result);// Expected output: "12345"

Syntax

js
do  statementwhile (condition);
statement

Eine Anweisung, die mindestens einmal ausgeführt und erneut ausgeführt wird, solange die Bedingung als wahr ausgewertet wird. Sie können eineBlock-Anweisung verwenden, um mehrere Anweisungen auszuführen.

condition

Ein Ausdruck, dernach jedem Durchlauf der Schleife ausgewertet wird. Wenn diese Bedingungals wahr ausgewertet wird, wirdstatement erneut ausgeführt. Wenn die Bedingungals falsch ausgewertet wird, wird die Ausführung mit der Anweisung nach derdo...while-Schleife fortgesetzt.

Beschreibung

Wie andere Schleifenanweisungen können SieSteuerflussanweisungen innerhalb vonstatement verwenden:

  • break stoppt die Ausführung vonstatement und geht zur ersten Anweisung nach der Schleife.
  • continue stoppt die Ausführung vonstatement und bewertetcondition erneut.

Diedo...while-Anweisung erfordert ein Semikolon am Ende, aber derautomatische Semikolon-Einfügeprozess kann eines einfügen, wenn das Fehlen eines Semikolons zu ungültiger Syntax führt.

Beispiele

Verwendung von do...while

Im folgenden Beispiel durchläuft diedo...while-Schleife mindestens einmal und wiederholt sich, bisi nicht mehr kleiner als 5 ist.

js
let result = "";let i = 0;do {  i += 1;  result += `${i} `;} while (i > 0 && i < 5);// Despite i === 0 this will still loop as it starts off without the testconsole.log(result);

Verwendung von false als do...while-Bedingung

Da die Anweisung immer einmal ausgeführt wird, istdo...while (false) dasselbe wie die Ausführung der Anweisung selbst. Dies ist ein häufiges Idiom in C-ähnlichen Sprachen, das es Ihnen ermöglicht,break zu verwenden, um aus einer Verzweigungslogik frühzeitig auszusteigen.

js
do {  if (!user.loggedIn) {    console.log("You are not logged in");    break;  }  const friends = user.getFriends();  if (!friends.length) {    console.log("No friends found");    break;  }  for (const friend of friends) {    handleFriend(friend);  }} while (false);// The rest of code

In JavaScript gibt es einige Alternativen, wie die Verwendung einerbeschrifteten Block-Anweisung mitbreak:

js
handleFriends: {  if (!user.loggedIn) {    console.log("You are not logged in");    break handleFriends;  }  const friends = user.getFriends();  if (!friends.length) {    console.log("No friends found");    break handleFriends;  }  for (const friend of friends) {    handleFriend(friend);  }}

Oder die Verwendung einer Funktion:

js
function handleFriends() {  if (!user.loggedIn) {    console.log("You are not logged in");    return;  }  const friends = user.getFriends();  if (!friends.length) {    console.log("No friends found");    return;  }  for (const friend of friends) {    handleFriend(friend);  }}

Verwendung einer Zuweisung als Bedingung

In einigen Fällen kann es sinnvoll sein, eine Zuweisung als Bedingung zu verwenden, wie hier:

js
do {  // …} while ((match = regexp.exec(str)));

Aber wenn Sie dies tun, gibt es Abstriche bei der Lesbarkeit. Diewhile-Dokumentation hat einen AbschnittVerwendung einer Zuweisung als Bedingung mit unseren Empfehlungen.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-do-while-statement

Browser-Kompatibilität

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp