Heim >Web-Frontend >js-Tutorial >Wie analysieren Browser JavaScript? Einführung in analytische Prinzipien

Wie analysieren Browser JavaScript? Einführung in analytische Prinzipien

青灯夜游
青灯夜游nach vorne
2019-01-05 10:46:274356Durchsuche

Wie analysiert der Browser JavaScript? Dieser Artikel führt Sie in das Prinzip der Browser-Analyse von JavaScript ein. Freunde in Not können sich darauf beziehen. [Empfohlenes Video-Tutorial: JavaScript-Video-Tutorial]

Browser-Parsing-JavaScript-Prinzipfunktionen:

1

2. Schwach typisiertes JavaScript muss beim Definieren nicht definiert werden. Der Datentyp wird anhand des Variablenwerts bestimmt.

var a = 10; //数字类型
var a = true //boolean类型

(Starker Typ: Beim Definieren einer Variablen. Sie müssen den Typ der Variablen definieren: Beispielsweise bestimmt int a = 10 boolean a = true in Java, C# direkt den Datentyp)

3. Interpretieren und ausführen, zeilenweise ausführen Zeile

Javascript-Ausführungsprozess

1. Grammatikerkennung

Es geht darum, festzustellen, ob Sie grundlegende Grammatikfehler haben. wie Chinesisch, Schlüsselwortfehler...

2. Lexikalische Analyse (Vorkompilierung)

Zeile für Zeile ausführen

Lexikalische Analyse

Vorkompilierungsprozess (Zwei Fälle)

1. Global (direkt der Code im Skript-Tag, ohne Funktionsausführung)

Nehmen Sie die folgende Demo als Beispiel:

 console.log(a); console.log(b)
 var a = 100;
 console.log(a) var b = 200 var c = 300 function a(){
                
 } function fun(){
                
 }

Vor der Ausführung:

1), generieren Sie zunächst ein GO-Objekt (Global Object), das nicht sichtbar, aber simuliert werden kann zur Analyse

GO = {                //自带的属性都不写
    }

2), analysieren Variablendeklaration , der Variablenname ist der Attributname, der Wert ist undefiniert 

GO = {
                    a : undefined,
                    b : undefined,
                    c : undefined
    }

3), analysieren die Funktionsdeklaration, die Der Funktionsname ist der Attributname, der Wert ist der Funktionskörper. Wenn der Funktionsname und der Variablenname identisch sind, werden sie rücksichtslos überschrieben

GO = {
    a : function a(){
                
    },
    b : undefined,
    c : undefined,
    fun : function fun(){
                
    }
}

An diesem Punkt ist GO das endgültige Objekt, das vorkompiliert wird. und die lexikalische Analyse ist abgeschlossen.

4), Zeile für Zeile ausführen, analysieren (Variablendeklaration, Funktionsdeklaration), keine Sorge, einfach Wert zuweisen (Variablenzuweisung)

a赋了一次值,值改变为100
      GO = {
          a : 100,
          b : undefined,
          c : undefined,
          fun : function fun(){
                
             }
        }

2, Lokal (wenn die Funktion ausgeführt wird)

Nehmen Sie diese Demo als Beispiel:

 num = 100510)

1), wenn vorkompiliert

GO = {
       num : undefined,
       fun : function
    }

2), Ausführungsprozess

GO = {
                num : 100,
                fun : function
            }

3) Funktionsaufrufe generieren auch ihren eigenen Bereich (AO: aktives Objekt). Wenn eine Funktion aufgerufen wird, wird sie einen Moment vor der Ausführung generiert. Es werden mehrere AO

ⅰ generiert. Der formale Parameter wird im Moment vor der Ausführung der Funktion

fun.AO = {
                
            }

ⅱ verwendet Objekt, und der tatsächliche Parameter wird als Attributwert des Objekts verwendet. Der Variablenname ist der Attributname und der Wert ist undefiniert Hat den gleichen Namen, werden keine Änderungen vorgenommen. Der Funktionsname ist der Attributname und der Wert ist der Funktionskörper Gleicher Name, er wird rücksichtslos überschrieben (hier gibt es keine Funktionsdeklaration, überspringen Sie sie)

4) Zeile für Zeile ausführen

Beispiele:

Hier sehen wir uns ein paar Beispiele an:

Beispiel 1:

fun.AO = {
                num : 5
            }

Beispiel 2:


fun.AO = {
                num : 5
            }

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWie analysieren Browser JavaScript? Einführung in analytische Prinzipien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen