Heim > Artikel > Web-Frontend > Sprechen Sie über mein Verständnis von JavaScript-Prototypen und Abschlussserien (zufällige Notizen 9)_Javascript-Fähigkeiten
Verwandte Lektüre: Sprechen Sie über mein Verständnis von JavaScript-Prototypen und Abschlussserien (Shuishou Note 6)
Geltungsbereich
for(var i = 0; i < 10; i++) { //不好的声明方式 //... } console.log(i); /*----------------------------------------------*/ var i = 0; //好的声明方式 for(i = 0; i < 10; i++) { //.... } console.log(i);
Wenn wir Variablen deklarieren, wird der globale Code am Frontend deklariert, und in Funktionen deklarierte Variablen müssen vor dem Funktionskörper deklariert werden. Gleichzeitig muss bei der Variablendeklaration der Operator „var“ verwendet werden.
var a = 10, //全局作用域 b = 20; function fn() { //fn函数作用域 var a = 100, c = 300; function bar() { //bar函数作用域 var a = 1000, d = 4000; } }
Der Umfang wird bestimmt, wenn die Funktion definiert wird, nicht wenn die Funktion aufgerufen wird.
1. Die globale Kontextumgebung wurde beim Laden des Programms bestimmt und Variablen werden bei der Ausführung des Programms Werte zugewiesen.
2. Führen Sie die Ausführung in Zeile 36 aus, rufen Sie fn(10) auf, erstellen Sie den Ausführungskontext der fn-Funktion, verschieben Sie den Stapel und setzen Sie diesen Kontext in den aktiven Zustand.
4. Nachdem bar(100) aufgerufen wurde, wird es vom Stapel entfernt und der Kontext der Funktion bar(100) wird zerstört. Führen Sie dann Zeile 33 aus, rufen Sie bar(200) auf, erstellen Sie den Ausführungskontext der Funktion bar(200), verschieben Sie den Stapel und setzen Sie diesen Kontext in den aktiven Zustand.
5. Nachdem der Aufruf von bar(200) abgeschlossen ist, wird er vom Stapel entfernt und sein Kontext wird zerstört. Die Steuerung wird nun an den fn(10)-Kontext übergeben, der wieder aktiv wird.
6. Zu diesem Zeitpunkt wird fn(10) aufgerufen, vom Stapel entfernt und sein Kontext zerstört. Die Kontrolle wird an den globalen Ausführungskontext übertragen.
Der Ausführungsprozess dieses Codeabschnitts ist zu diesem Zeitpunkt abgeschlossen.
Zusammenfassung: