JavaScript ist eine beschreibende Skriptsprache, die vom Browser dynamisch analysiert und ausgeführt wird. Es gibt im Allgemeinen zwei Möglichkeiten, Funktionen zu definieren. Browser haben unterschiedliche Analysereihenfolgen für unterschiedliche Arten. Dieser Artikel teilt Ihnen hauptsächlich die Analyse der js-Ausführungssequenz mit und hofft, allen zu helfen.
Der Code lautet wie folgt:
//“定义式”函数定义 function Fn1(){ alert("Hello World!"); } //“赋值式”函数定义 var Fn2 = function(){ alert("Hello wild!"); }
Während des Seitenladevorgangs scannt der Browser jeden js-Codeblock (oder jede geladene Datei) auf der Seite Beim Erreichen einer definierenden Funktion wird eine Vorverarbeitung durchgeführt (ähnlich der Kompilierung von C usw.). Nach Abschluss der Verarbeitung beginnt die Ausführung von oben nach unten. Wenn eine Zuweisungsfunktion auftritt, wird die Funktion einfach einer Variablen zugewiesen, ohne dass eine Vorverarbeitung erforderlich ist (ähnlich dem Prinzip in 1, dass Variablen zuerst definiert und dann referenziert werden müssen) werden erst verarbeitet, wenn sie aufgerufen werden. Hier ist ein einfaches Beispiel:
Der Code lautet wie folgt:
//“定义式”函数定义 Fn1(); function Fn1(){ alert("Hello World!"); }
Normal ausführen, Popup „Hallo Welt!“ aufrufen, der Browser verarbeitet Fn1 vor und beginnt dann mit Fn1() ; Ausführung starten.
Der Code lautet wie folgt:
//“赋值式”函数定义 Fn2(); var Fn2 = function(){ alert("Hello wild!"); }
Firebug meldet einen Fehler: Fn2 ist keine Funktion. Der Browser verarbeitet Fn2 nicht vor und führt es sequentiell aus, daher ist der Fehler Fn2 nicht definiert .
3. Verarbeitung von Codeblöcken und JS-Dateien
„Codeblock“ bezieht sich auf ein Paar von