| [ 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-Code besteht aus Anweisungen und Deklarationen, die Ausdrcke enthalten knnen. Diese Referenz gruppiert die Konstrukte, die zur Steuerung der Ausfhrung und zum Deklarieren von Bindungen verwendet werden. Eine Anweisung kann sich ber mehrere Zeilen erstrecken, und eine Zeile kann mehrere Anweisungen enthalten.
Eine alphabetische Auflistung finden Sie in der Seitenleiste links.
returnGibt den Wert an, der von einer Funktion zurckgegeben werden soll.
breakBeendet die aktuelle Schleife, switch- oder Label-Anweisung und bergibt die Programmkontrolle an die Anweisung, die auf die beendete Anweisung folgt.
continueBeendet die Ausfhrung der Anweisungen in der aktuellen Iteration der aktuellen oder beschrifteten Schleife und setzt die Ausfhrung der Schleife mit der nchsten Iteration fort.
throwLst eine benutzerdefinierte Ausnahme aus.
if...elseFhrt eine Anweisung aus, wenn eine angegebene Bedingung wahr ist. Wenn die Bedingung falsch ist, kann eine andere Anweisung ausgefhrt werden.
switchWertet einen Ausdruck aus, gleicht den Wert des Ausdrucks mit einer case-Klausel ab und fhrt Anweisungen aus, die diesem Fall zugeordnet sind.
try...catchMarkiert einen Block von Anweisungen, der versucht werden soll, und gibt eine Reaktion an, falls eine Ausnahme ausgelst wird.
varDeklariert eine Variable und initialisiert sie optional mit einem Wert.
letDeklariert eine blockbereichsgebundene Variable und initialisiert sie optional mit einem Wert.
constDeklariert eine blockbereichsgebundene Variable, die nicht erneut zugewiesen werden kann und bei der Deklaration initialisiert werden muss.
usingDeklariert eine Variable wie const, die synchron freigegeben wird.
await usingDeklariert eine Variable wie const, die asynchron freigegeben wird.
functionDeklariert eine Funktion mit den angegebenen Parametern.
function*Generatorfunktionen erleichtern das 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 angegebene Anweisung ausfhrt, bis die Testbedingung zu false ausgewertet 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, die in Klammern eingeschlossen und durch Semikolons getrennt sind, gefolgt von einer Anweisung, die in der Schleife ausgefhrt wird.
for...inIteriert in beliebiger Reihenfolge ber die aufzhlbaren Eigenschaften eines Objekts. Fr jede unterschiedliche Eigenschaft knnen Anweisungen ausgefhrt werden.
for...ofIteriert ber iterierbare Objekte (einschlielich Arrays, array-hnlicher Objekte, Iteratoren und Generatoren), wobei ein benutzerdefinierter Iterations-Hook mit Anweisungen aufgerufen wird, die fr den Wert jeder unterschiedlichen Eigenschaft ausgefhrt werden.
for await...ofIteriert ber asynchron iterierbare Objekte, array-hnliche Objekte, Iteratoren und Generatoren), wobei ein benutzerdefinierter Iterations-Hook mit Anweisungen aufgerufen wird, die fr den Wert jeder unterschiedlichen Eigenschaft ausgefhrt werden.
whileErstellt eine Schleife, die eine angegebene Anweisung ausfhrt, solange die Testbedingung zu true ausgewertet wird. Die Bedingung wird vor der Ausfhrung der Anweisung ausgewertet.
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 geschweifter Klammern begrenzt.
Eine Ausdrucksanweisung wertet einen Ausdruck aus und verwirft dessen Ergebnis. Sie ermglicht dem Ausdruck, Nebeneffekte auszufhren, beispielsweise eine Funktion auszufhren oder eine Variable zu aktualisieren.
debuggerRuft jede verfgbare Debugging-Funktionalitt auf. Wenn keine Debugging-Funktionalitt verfgbar ist, hat diese Anweisung keine Wirkung.
exportWird verwendet, um Funktionen zu exportieren und sie fr Imports 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.
import deferLdt ein Modul als Namespace und verschiebt die synchrone Auswertung, bis auf die Eigenschaften des zurckgegebenen Namespace zugegriffen wird.
import sourceFhrt zu einem Objekt, das den kompilierten Quellcode des Moduls darstellt, ohne dessen Abhngigkeiten zu laden, es zu verknpfen oder auszuwerten.
Versieht eine Anweisung mit einem Bezeichner, auf den Sie mit einer break- oder continue-Anweisung verweisen knnen.
with Erweitert die Scope-Kette fr eine Anweisung.
Alle JavaScript-Programme bestehen aus einer Sequenz von Konstrukten der obersten Ebene, die eine der oben aufgefhrten Syntaxen verwenden. Diese werden als Anweisungen und Deklarationen bezeichnet. In der MDN-Dokumentation bezeichnen wir beide umgangssprachlich oft als Anweisungen, technisch gesehen sind sie jedoch zwei getrennte Mengen von Grammatiken.
Folgende sind Deklarationen:
letconstusingawait usingfunctionfunction*async functionasync function*classexport (Hinweis: Es kann nur auf der obersten Ebene eines Moduls erscheinen.)import (Hinweis: Es kann nur auf der obersten Ebene eines Moduls erscheinen.)Alles andere in der obigen Liste ist eine Anweisung.
Die Begriffe Anweisung und Deklaration haben in der formalen Syntax von JavaScript eine przise Bedeutung, die sich darauf auswirkt, wo sie im Code platziert werden drfen. Beispielsweise akzeptiert der Rumpf in den meisten Kontrollflussstrukturen nur Anweisungen wie die beiden Zweige eines if...else:
if (condition)
statement1;
else
statement2;
Wenn Sie statt einer Anweisung eine Deklaration verwenden, wre dies ein SyntaxError. Beispielsweise ist eine let-Deklaration keine Anweisung, sodass Sie sie nicht in ihrer bloen Form als Rumpf einer if-Anweisung verwenden knnen.
if (condition)
let i = 0; // SyntaxError: Lexical declaration cannot appear in a single-statement context
Andererseits ist var eine Anweisung, sodass Sie es allein als if-Rumpf verwenden knnen.
if (condition)
var i = 0;
Sie knnen Deklarationen als Bindung von Bezeichnern an Werte und Anweisungen als Ausfhren von Aktionen betrachten. Die Tatsache, dass var eine Anweisung und keine Deklaration ist, ist ein Sonderfall, da es nicht den normalen Regeln des lexikalischen Scope folgt und Nebeneffekte erzeugen kann in Form der Erstellung globaler Variablen, der Vernderung bestehender durch var definierter Variablen und der Definition von Variablen, die auerhalb ihres Blocks sichtbar sind (da durch var definierte Variablen nicht blockbereichsgebunden sind).
Als weiteres Beispiel knnen Labels nur an Anweisungen angehngt werden.
label: const a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context
Hinweis: Es gibt eine Legacy-Grammatik, die Funktionsdeklarationen mit Labels erlaubt, sie ist jedoch nur zur Kompatibilitt mit der Realitt des Webs standardisiert.
Um dies zu umgehen, knnen Sie die Deklaration in geschweifte Klammern einschlieen dadurch wird sie Teil einer Blockanweisung.
label: {
const a = 1;
}
if (condition) {
let i = 0;
}
In JavaScript erzeugen Anweisungen und Deklarationen Werte, aber diese Werte sind fast nie beobachtbar (auer bei eval()). Ihr Zweck besteht darin, die umgebende Umgebung zu manipulieren und Nebeneffekte zu erzeugen Variablenbindungen zu erstellen, Dinge auszugeben, Variablenwerte zu ndern usw. Die Werte, die sie verwenden, stammen aus der Auswertung von Ausdrcken.
Ausdrcke sind keine Konstrukte der obersten Ebene; sie knnen nur in bestimmten Positionen innerhalb von Anweisungen und Deklarationen verwendet werden, etwa if (expression), const x = expression usw. Die Syntax der Ausdrucksanweisung ermglicht es, die meisten Ausdrcke als Anweisungen zu verwenden, aber dabei handelt es sich lediglich um eine Anweisung mit einem einzigen Ausdrucks-Slot.
Sie knnen die JavaScript-Syntaxstrukturen nur mit Anweisungen, Deklarationen und Ausdrcken abbilden:
if (expression) statement und Blockanweisungen { statement; declaration }).function x() { statement; declaration } und const x = expression).() => { statement; declaration } und console.log(expression)).In der Referenzdokumentation zu jedem Syntaxbestandteil beschreiben wir alle seine Slots und geben an, ob jeder Slot eine Anweisung, Deklaration oder ein Ausdruck ist.
Operatoren sind ein weiteres wichtiges Konzept in der JavaScript-Grammatik, aber sie funktionieren nicht wie Bausteine. Weitere Informationen finden Sie unter Was sind Operatoren?.
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 |