JS-Lauftrilogiejs-Ausführungscode ist in drei Schritte unterteilt
Wenn JavaScript-Code ausgeführt wird, führt er zunächst eine Syntaxanalyse durch, um zu prüfen, ob der Code Fehler auf niedriger Ebene enthält. Anschließend führt er eine Vorkompilierung durch, organisiert die interne Logik und beginnt schließlich mit der zeilenweisen Ausführung des Codes. Syntaxanalyse Vor der Ausführung des Codes durchsucht das System den gesamten Code, um zu prüfen, ob Syntaxfehler auf niedriger Ebene vorliegen, z. B. eine fehlende geschweifte Klammer. Vorkompilierung Vorkompilierung AuftaktDie Vorkompilierung erfolgt unmittelbar vor der Ausführung einer Funktion. Der Variablen wird ein Wert zugewiesen, ohne dass sie deklariert wird, und die Variable gehört dem globalen Objekt Alle deklarierten globalen Variablen sind Fenstereigenschaften Vier Schritte der Vorkompilierung
Ich erkläre dies anhand eines Beispiels. Sie können auch selbst eine Antwort geben, bevor Sie fortfahren. Funktion fn(a) { konsole.log(a); var a = 123; konsole.log(a); Funktion a() {} konsole.log(a); var b = Funktion() {}; console.log(b); Funktion d() {} konsole.log(d) } fn(1); Der erste Schritt besteht darin, ein AO-Objekt (Activation Object) zu erstellen. Der zweite Schritt besteht darin, die formalen Parameter und Variablendeklarationen zu finden und die Variablen- und formalen Parameternamen als AO-Attributnamen mit undefinierten Werten zu verwenden. { a: undefiniert, b: undefiniert, } Der dritte Schritt besteht darin, die tatsächlichen Parameter und formalen Parameter zu vereinheitlichen { ein: 1, b: undefiniert, } Schritt 4: Suchen Sie die Funktionsdeklaration und weisen Sie dem Funktionskörper den Wert zu { a: Funktion a() {}, b: undefiniert, d: Funktion d() {} } Kurz bevor die Funktion fn ausgeführt wird, sind die Werte von a, b und d wie oben gezeigt Das Ergebnis der Ausführung von fn(1) ist also
Im globalen Bereich ist der Vorkompilierungsprozess etwas anders
Interpretation Code zeilenweise ausführen Übungsfragen Hier sind ein paar Beispiele, bei Interesse könnt ihr gerne mal reinschauen Funktion test(a, b) { konsole.log(a); console.log(b); var b = 234; console.log(b); ein = 123; konsole.log(a); Funktion a() {} var a; b = 234; var b = Funktion() {}; konsole.log(a); console.log(b); } Prüfung(1); global = 100; Funktion fn() { konsole.log(global); global = 200; konsole.log(global); var global = 300; } fn(); var global; Funktion test() { console.log(b); wenn (a) { var b = 100; } c = 234; console.log(c); } var a; prüfen(); ein = 10; console.log(c); ZusammenfassenIn den meisten Fällen verwenden wir die folgende Methode, um den Vorkompilierungsprozess durchzuführen:
Wenn Sie auf eine komplexe Situation stoßen, können Sie das Problem nur auf die primitivste Art und Weise lösen. Dies ist das Ende dieses Artikels zum Verständnis der JavaScript-Vorkompilierung (Zusammenfassung). Weitere relevante Inhalte zur JavaScript-Vorkompilierung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So exportieren Sie eine CSV-Datei mit Header in MySQL
>>: Lösung für das Problem, dass die Umleitung der Crontab-Ausgabe unter Linux nicht wirksam wird
Das Ergebnis (vollständiger Code unten): Die Impl...
Inhaltsverzeichnis 1. Abschluss 2. Szenarien für ...
Hintergrund Die Menge neuer Daten in der Geschäft...
Entwicklungsumgebungsfenster Entwicklungstools Vi...
1. Brigde——Bridge: VMnet0 wird standardmäßig verw...
In diesem Artikel wird der spezifische Code eines...
In diesem Artikel finden Sie das Installations-Tu...
Es gibt drei Typen von MySQL-gespeicherten Prozed...
<br />In der HTML-Sprache können Sie der Tab...
Obwohl Mac-Systeme mit PHP und Apache ausgeliefer...
Vorwort: Die Artikelserie „Erste Schritte mit MyS...
Obwohl Microsoft T4-Vorlagen bereitstellt, finde ...
1 Wirkung Demo-Adresse: https://www.albertyy.com/...
Inhaltsverzeichnis Überblick 1. Middleware auf An...
In diesem Artikel wird hauptsächlich der Beispiel...