Heim > Artikel > Web-Frontend > Ist JavaScript synchron oder asynchron und ist es Single-Threaded oder Multi-Threaded? Wie wird JavaScript-Code ausgeführt?
JavaScript ist eine synchrone Single-Thread-Sprache, die jeweils nur einen Befehl ausführen kann. Es wird erst dann zur nächsten Zeile übergegangen, wenn die Ausführung der aktuellen Zeile abgeschlossen ist. Allerdings kann JavaScript asynchrone Vorgänge mithilfe einer Ereignisschleife, Promises, Async/Await und einer Rückrufwarteschlange ausführen (JavaScript ist standardmäßig synchron).
Wie wird JavaScript-Code ausgeführt?
Alles in JavaScript geschieht in einem Ausführungskontext (stellen Sie sich das wie eine große Kiste oder einen Container vor). Der gesamte JavaScript-Code wird innerhalb dieses Ausführungskontexts ausgeführt. Es besteht aus zwei Komponenten: der Speicherkomponente (der Variablenumgebung) und der Codekomponente (dem Ausführungsthread).
Zuerst wird ein globaler Ausführungskontext erstellt. Dabei erstellt jede Funktion ihren eigenen Ausführungskontext.
Bevor eine Codezeile ausgeführt wird, wird Speicher für alle Variablen und Funktionen zugewiesen.
Wie wird der Code nach der Speicherzuweisung ausgeführt?
Die JavaScript-Engine durchläuft das gesamte Programm noch einmal (Zeile für Zeile) und führt den Code aus.
Sehen wir uns das folgende Beispiel an:
function add(a,b){ var ans = a+b; console.log(ans); } var addition = add(6,5);
In diesem Beispiel wird zunächst ein globaler Ausführungskontext erstellt, der aus zwei Komponenten besteht: der Speicherkomponente (MC) und der Codekomponente (CC).
Bei Funktionen wird der gesamte Funktionscode im Speicher gespeichert. Für Variablen wird zunächst ein spezieller Wert, undefiniert, gespeichert.
Wenn die Funktion aufgerufen wird, wird ein weiterer Ausführungskontext erstellt. In der Speicherkomponente werden die Werte für Parameter (a = 6, b = 5) gespeichert, während Variablen wie ans den Wert zunächst undefiniert halten. In der Codekomponente werden die Werte aus der Speicherkomponente verwendet, um die Operation auszuführen (a b = 6 5 = 11). Das Ergebnis wird dann auf der Konsole ausgegeben.
Ich hoffe, diese Erklärung verdeutlicht das Konzept. Wenn Sie Fragen oder Korrekturen haben, können Sie diese gerne im Kommentarbereich stellen.
Dank an Akshay Saini (Siehe:[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])
Das obige ist der detaillierte Inhalt vonIst JavaScript synchron oder asynchron und ist es Single-Threaded oder Multi-Threaded? Wie wird JavaScript-Code ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!