Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie analysieren Browser JavaScript? Einführung in analytische Prinzipien

青灯夜游
Freigeben: 2019-01-05 10:46:27
nach vorne
4323 Leute haben es durchsucht

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类型
Nach dem Login kopieren

(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(){
                
 }
Nach dem Login kopieren

Vor der Ausführung:

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

GO = {                //自带的属性都不写
    }
Nach dem Login kopieren

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

GO = {
                    a : undefined,
                    b : undefined,
                    c : undefined
    }
Nach dem Login kopieren

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(){
                
    }
}
Nach dem Login kopieren

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(){
                
             }
        }
Nach dem Login kopieren

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

Nehmen Sie diese Demo als Beispiel:

 num = 100510)
Nach dem Login kopieren

1), wenn vorkompiliert

GO = {
       num : undefined,
       fun : function
    }
Nach dem Login kopieren

2), Ausführungsprozess

GO = {
                num : 100,
                fun : function
            }
Nach dem Login kopieren

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 = {
                
            }
Nach dem Login kopieren

ⅱ 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
            }
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel 2:


fun.AO = {
                num : 5
            }
Nach dem Login kopieren
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
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