Heim  >  Artikel  >  Web-Frontend  >  Ist JavaScript synchron oder asynchron und ist es Single-Threaded oder Multi-Threaded? Wie wird JavaScript-Code ausgeführt?

Ist JavaScript synchron oder asynchron und ist es Single-Threaded oder Multi-Threaded? Wie wird JavaScript-Code ausgeführt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-09-25 06:20:32878Durchsuche

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).

  • Speicherkomponente: Hier werden alle Variablen und Funktionen als Schlüssel-Wert-Paare gespeichert.
  • Codekomponente: Hier wird der Code ausgeführt (zeilenweise)."

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).

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

Bei Funktionen wird der gesamte Funktionscode im Speicher gespeichert. Für Variablen wird zunächst ein spezieller Wert, undefiniert, gespeichert.

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn