Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie funktioniert JS hinter den Kulissen?

DDD
Freigeben: 2024-09-18 21:50:02
Original
1004 Leute haben es durchsucht

How JS works behind the scenes?

So funktioniert JavaScript

JavaScript arbeitet in einer Single-Threaded-Umgebung, das heißt, es führt jeweils eine Aufgabe aus. Es verwaltet die Ausführung von Code in Ausführungskontexten (EC), die entweder global oder funktional sein können.

Globaler Ausführungskontext (GEC)

  • Erstellt, wenn die Codedatei geladen wird.

  • Der GEC ist für die Einrichtung des globalen Objekts (in Browsern das Fenster) und des Schlüsselworts this verantwortlich.

  • Alle im globalen Bereich deklarierten Variablen und Funktionen werden im globalen EC gespeichert.

Ausführungskontextphasen

  • Speichererstellungsphase:
    Während der Speicherphase reserviert JavaScript Speicher für Variablen und Funktionen.
    Variablen wird zunächst der Wert undefiniert zugewiesen, während Funktionen mit ihrer vollständigen Definition im Speicher gespeichert werden.

  • Ausführungsphase:
    Nach der Speicherzuweisungsphase beginnt JavaScript, den Code Zeile für Zeile auszuführen.
    Variablen werden aktuelle Werte zugewiesen und Funktionen ausgeführt.

Funktionaler Ausführungskontext (FEC)

  • Immer wenn eine Funktion aufgerufen wird, erstellt JavaScript einen neuen Ausführungskontext speziell für diese Funktion.

  • Der Ausführungskontext für jede Funktion besteht aus zwei Phasen:

  • Speicherphase: Speicher wird den lokalen Variablen und Funktionen innerhalb der Funktion zugewiesen.

  • Ausführungsphase: Der Funktionskörper wird ausgeführt und Variablen erhalten ihre tatsächlichen Werte.

  • Nach der Ausführung wird der Ausführungskontext der Funktion zerstört, wodurch Speicher frei wird.

Rückgabeerklärungen
Sobald eine Funktion eine Return-Anweisung erreicht, wird die Funktion sofort beendet und ihr Ausführungskontext wird aus dem Aufrufstapel entfernt. Nach einer Return-Anweisung geschriebener Code wird nicht ausgeführt.

Der Aufrufstapel
JavaScript verwendet den Call Stack, um Ausführungskontexte zu verwalten.

  • Es wird das LIFO-Konzept (Last In, First Out) verwendet:

  • Wenn eine Funktion aufgerufen wird, wird ihr Ausführungskontext oben auf dem Stapel platziert.

  • Sobald die Funktion abgeschlossen ist (oder die Rückgabe erreicht), wird ihr Ausführungskontext vom Stapel entfernt.

JavaScript ist Single-Threaded

Single-Threaded bedeutet, dass JavaScript jeweils nur eine Operation ausführen kann, aber dennoch asynchrone Operationen ausführen kann. Das ist nicht so interessant. In meinem nächsten Beitrag werden wir über diese erstaunliche Funktionalität von JavaScript sprechen.

Das obige ist der detaillierte Inhalt vonWie funktioniert JS hinter den Kulissen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!