JavaScript-Anwendungen bestehen aus Anweisungen mit einer geeigneten Syntax. Eine einzelne Anweisung kann mehrere Zeilen umfassen. Mehrere Anweisungen können in einer einzigen Zeile vorkommen, wenn jede Anweisung durch ein Semikolon getrennt ist. Dies ist kein Schlüsselwort, sondern eine Gruppe von Schlüsselwörtern.
Anweisungen und Deklarationen nach KategorieFür eine alphabetische Auflistung siehe die Seitenleiste links.
Kontrollflussreturn
Gibt den Wert an, der von einer Funktion zurückgegeben werden soll.
break
Beendet die aktuelle Schleife, die Switch- oder Label-Anweisung und überträgt die Programmkontrolle zur Anweisung nach der beendeten Anweisung.
continue
Beendet die Ausführung der Anweisungen in der aktuellen Iteration der aktuellen oder gelabelten Schleife und setzt die Ausführung der Schleife mit der nächsten Iteration fort.
throw
Wirft eine benutzerdefinierte Ausnahme.
if...else
Führt eine Anweisung aus, wenn eine angegebene Bedingung wahr ist. Wenn die Bedingung falsch ist, kann eine andere Anweisung ausgeführt werden.
switch
Bewertet einen Ausdruck, der den Wert des Ausdrucks mit einer Fallklausel vergleicht und führt die mit diesem Fall verbundenen Anweisungen aus.
try...catch
Markiert einen Block von Anweisungen zum Ausprobieren und gibt eine Antwort an, falls eine Ausnahme geworfen wird.
var
Deklariert eine Variable und initialisiert sie optional mit einem Wert.
let
Deklariert eine lokale Variable mit Blockscope und initialisiert sie optional mit einem Wert.
const
Deklariert eine schreibgeschützte benannte Konstante.
using
Deklariert lokale Variablen, die synchron entsorgt werden.
await using
Deklariert lokale Variablen, die asynchron entsorgt werden.
function
Deklariert eine Funktion mit den angegebenen Parametern.
function*
Generatorfunktionen ermöglichen das leichteren Schreiben von Iteratoren.
async function
Deklariert eine asynchrone Funktion mit den angegebenen Parametern.
async function*
Asynchrone Generatorfunktionen erleichtern das Schreiben von asynchronen Iteratoren.
class
Deklariert eine Klasse.
do...while
Erstellt eine Schleife, die eine bestimmte Anweisung so lange ausführt, bis die Testbedingung zu falsch evaluiert wird. Die Bedingung wird nach der Ausführung der Anweisung ausgewertet, wodurch die angegebene Anweisung mindestens einmal ausgeführt wird.
for
Erstellt eine Schleife, die aus drei optionalen Ausdrücken besteht, welche in Klammern eingeschlossen und durch Semikolons getrennt sind, gefolgt von einer in der Schleife ausgeführten Anweisung.
for...in
Iteriert über die aufzählbaren Eigenschaften eines Objekts in beliebiger Reihenfolge. Für jede unterschiedliche Eigenschaft können Anweisungen ausgeführt werden.
for...of
Iteriert über iterierbare Objekte (einschlieÃlich Arrays, array-ähnlichen Objekte, Iteratoren und Generatoren) und ruft einen benutzerdefinierten Iterationshaken mit Anweisungen auf, die für den Wert jeder einzelnen Eigenschaft ausgeführt werden sollen.
for await...of
Iteriert über asynchrone iterierbare Objekte, array-ähnliche Objekte, Iteratoren und Generatoren und ruft einen benutzerdefinierten Iterationshaken mit Anweisungen auf, die für den Wert jeder einzelnen Eigenschaft ausgeführt werden sollen.
while
Erstellt eine Schleife, die eine bestimmte Anweisung ausführt, solange die Testbedingung zu wahr evaluiert wird. Die Bedingung wird vor der Ausführung der Anweisung bewertet.
Eine leere Anweisung wird verwendet, um keine Anweisung bereitzustellen, obwohl die JavaScript-Syntax eine erwarten würde.
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 ermöglicht es dem Ausdruck, Nebeneffekte wie die Ausführung einer Funktion oder das Aktualisieren einer Variablen zu erzeugen.
debugger
Ruft alle verfügbaren Debugging-Funktionen auf. Wenn keine Debugging-Funktionalität verfügbar ist, hat diese Anweisung keine Auswirkungen.
export
Wird verwendet, um Funktionen zu exportieren, um sie in externen Modulen und anderen Skripten verfügbar zu machen.
import
Wird 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 können.
with
Veraltet
Erweitert die Scope-Kette für 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:
let
const
function
function*
async function
async function*
class
export
(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 präzise Bedeutung in der formalen Syntax von JavaScript, die beeinflusst, wo sie im Code platziert werden dürfen. Zum Beispiel akzeptieren in den meisten Kontrollflussstrukturen die Körper nur Anweisungen â wie die zwei Arme eines if...else
:
if (condition)
statement1;
else
statement2;
Wenn Sie eine Deklaration anstelle einer Anweisung verwenden, wäre es ein SyntaxError
. Zum Beispiel ist eine let
-Deklaration keine Anweisung, daher können Sie sie nicht in ihrer nackten Form als Körper 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 können Sie sie alleinstehend als if
-Körper verwenden.
if (condition)
var i = 0;
Sie können Deklarationen als "Bindungen von Bezeichnern an Werte" und Anweisungen als "Durchführung 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 auÃerhalb ihres Blocks sichtbar sind (da var
-definierte Variablen nicht block-beschränkt sind).
Ein weiteres Beispiel: Labels können nur an Anweisungen angehängt 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 Kompatibilität mit der Web-Realität standardisiert.
Um dies zu umgehen, können Sie die Deklaration in geschweifte Klammern einschlieÃen â dies macht sie zu einem Teil einer Blockanweisung.
label: {
const a = 1;
}
if (condition) {
let i = 0;
}
Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4