| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements#control_flow | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
JavaScript-Anwendungen bestehen aus Anweisungen mit einer geeigneten Syntax. Eine einzelne Anweisung kann mehrere Zeilen umfassen. Mehrere Anweisungen knnen in einer einzigen Zeile vorkommen, wenn jede Anweisung durch ein Semikolon getrennt ist. Dies ist kein Schlsselwort, sondern eine Gruppe von Schlsselwrtern.
Fr eine alphabetische Auflistung siehe die Seitenleiste links.
returnGibt den Wert an, der von einer Funktion zurckgegeben werden soll.
breakBeendet die aktuelle Schleife, die Switch- oder Label-Anweisung und bertrgt die Programmkontrolle zur Anweisung nach der beendeten Anweisung.
continueBeendet die Ausfhrung der Anweisungen in der aktuellen Iteration der aktuellen oder gelabelten Schleife und setzt die Ausfhrung der Schleife mit der nchsten Iteration fort.
throwWirft eine benutzerdefinierte Ausnahme.
if...elseFhrt eine Anweisung aus, wenn eine angegebene Bedingung wahr ist. Wenn die Bedingung falsch ist, kann eine andere Anweisung ausgefhrt werden.
switchBewertet einen Ausdruck, der den Wert des Ausdrucks mit einer Fallklausel vergleicht und fhrt die mit diesem Fall verbundenen Anweisungen aus.
try...catchMarkiert einen Block von Anweisungen zum Ausprobieren und gibt eine Antwort an, falls eine Ausnahme geworfen wird.
varDeklariert eine Variable und initialisiert sie optional mit einem Wert.
letDeklariert eine lokale Variable mit Blockscope und initialisiert sie optional mit einem Wert.
constDeklariert eine schreibgeschtzte benannte Konstante.
usingDeklariert lokale Variablen, die synchron entsorgt werden.
await usingDeklariert lokale Variablen, die asynchron entsorgt werden.
functionDeklariert eine Funktion mit den angegebenen Parametern.
function*Generatorfunktionen ermglichen das leichteren Schreiben von Iteratoren.
async functionDeklariert eine asynchrone Funktion mit den angegebenen Parametern.
async function*Asynchrone Generatorfunktionen erleichtern das Schreiben von asynchronen Iteratoren.
classDeklariert eine Klasse.
do...whileErstellt eine Schleife, die eine bestimmte Anweisung so lange ausfhrt, bis die Testbedingung zu falsch evaluiert wird. Die Bedingung wird nach der Ausfhrung der Anweisung ausgewertet, wodurch die angegebene Anweisung mindestens einmal ausgefhrt wird.
forErstellt eine Schleife, die aus drei optionalen Ausdrcken besteht, welche in Klammern eingeschlossen und durch Semikolons getrennt sind, gefolgt von einer in der Schleife ausgefhrten Anweisung.
for...inIteriert ber die aufzhlbaren Eigenschaften eines Objekts in beliebiger Reihenfolge. Fr jede unterschiedliche Eigenschaft knnen Anweisungen ausgefhrt werden.
for...ofIteriert ber iterierbare Objekte (einschlielich Arrays, array-hnlichen Objekte, Iteratoren und Generatoren) und ruft einen benutzerdefinierten Iterationshaken mit Anweisungen auf, die fr den Wert jeder einzelnen Eigenschaft ausgefhrt werden sollen.
for await...ofIteriert ber asynchrone iterierbare Objekte, array-hnliche Objekte, Iteratoren und Generatoren und ruft einen benutzerdefinierten Iterationshaken mit Anweisungen auf, die fr den Wert jeder einzelnen Eigenschaft ausgefhrt werden sollen.
whileErstellt eine Schleife, die eine bestimmte Anweisung ausfhrt, solange die Testbedingung zu wahr evaluiert wird. Die Bedingung wird vor der Ausfhrung der Anweisung bewertet.
Eine leere Anweisung wird verwendet, um keine Anweisung bereitzustellen, obwohl die JavaScript-Syntax eine erwarten wrde.
Eine Blockanweisung wird verwendet, um null oder mehr Anweisungen zu gruppieren. Der Block wird durch ein Paar geschweifte Klammern abgegrenzt.
Eine Ausdrucksanweisung wertet einen Ausdruck aus und verwirft dessen Ergebnis. Sie ermglicht es dem Ausdruck, Nebeneffekte wie die Ausfhrung einer Funktion oder das Aktualisieren einer Variablen zu erzeugen.
debuggerRuft alle verfgbaren Debugging-Funktionen auf. Wenn keine Debugging-Funktionalitt verfgbar ist, hat diese Anweisung keine Auswirkungen.
exportWird verwendet, um Funktionen zu exportieren, um sie in externen Modulen und anderen Skripten verfgbar zu machen.
importWird verwendet, um Funktionen zu importieren, die aus einem externen Modul oder einem anderen Skript exportiert wurden.
Bietet einer Anweisung eine Kennung, auf die Sie mit einer break- oder continue-Anweisung verweisen knnen.
with Erweitert die Scope-Kette fr eine Anweisung.
In diesem Abschnitt mischen wir zwei Arten von Konstrukten: Anweisungen und Deklarationen. Sie sind zwei disjunkte Mengen von Grammatiken. Die folgenden sind Deklarationen:
letconstfunctionfunction*async functionasync function*classexport (Hinweis: kann nur auf der Top-Ebene eines Moduls erscheinen)import (Hinweis: kann nur auf der Top-Ebene eines Moduls erscheinen)Alles andere in der obigen Liste ist eine Anweisung.
Die Begriffe "Anweisung" und "Deklaration" haben eine przise Bedeutung in der formalen Syntax von JavaScript, die beeinflusst, wo sie im Code platziert werden drfen. Zum Beispiel akzeptieren in den meisten Kontrollflussstrukturen die Krper nur Anweisungen wie die zwei Arme eines if...else:
if (condition)
statement1;
else
statement2;
Wenn Sie eine Deklaration anstelle einer Anweisung verwenden, wre es ein SyntaxError. Zum Beispiel ist eine let-Deklaration keine Anweisung, daher knnen Sie sie nicht in ihrer nackten Form als Krper einer if-Anweisung verwenden.
if (condition)
let i = 0; // SyntaxError: Lexical declaration cannot appear in a single-statement context
Andererseits ist var eine Anweisung, daher knnen Sie sie alleinstehend als if-Krper verwenden.
if (condition)
var i = 0;
Sie knnen Deklarationen als "Bindungen von Bezeichnern an Werte" und Anweisungen als "Durchfhrung von Aktionen" ansehen. Die Tatsache, dass var eine Anweisung und keine Deklaration ist, ist ein Sonderfall, da sie nicht den normalen lexikalischen Umgebungsregeln folgt und Nebenwirkungen erzeugen kann in Form von globalen Variablen, Mutationen bestehender var-definierten Variablen und Definitionen von Variablen, die auerhalb ihres Blocks sichtbar sind (da var-definierte Variablen nicht block-beschrnkt sind).
Ein weiteres Beispiel: Labels knnen nur an Anweisungen angehngt werden.
label: const a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context
Hinweis: Es gibt eine veraltete Grammatik, die Funktionsdeklarationen Labels erlaubt, aber sie ist nur zur Kompatibilitt mit der Web-Realitt standardisiert.
Um dies zu umgehen, knnen Sie die Deklaration in geschweifte Klammern einschlieen dies macht sie zu einem Teil einer Blockanweisung.
label: {
const a = 1;
}
if (condition) {
let i = 0;
}
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |