Dieses Mal bringe ich Ihnen eine Frage zum Umfang in JS. Was sind die Vorsichtsmaßnahmen zum Umfang in JS? Hier ist ein praktischer Fall, werfen wir einen Blick darauf.
var a = 1;function foo () { console.log(a); var a = 2; console.log(a); } foo();
Bitte schreiben Sie die Ausgabewerte des ersten console.log bzw. des zweiten console.log.
JavascriptFunktion Initialisierungssequenz der Variablen
Vorausführungszeitraum
1 Die Funktionsdeklaration wird initialisiert und platziert Gehen Sie zum globalen Variablenfenster (globaler Kontext)
2. Die von var deklarierte Variable wird im globalen Variablenfenster (globaler Kontext) oder in dem Kontext platziert, in dem sich var befindet, z. B. innerhalb der Funktion, und die Anfangswert ist undefiniert
Ausführungszeitraum
Wenn der Code ausgeführt wird, erfolgt die Variablenzuweisung. Ohne var deklarierte Variablen werden erst erstellt, nachdem der Code ausgeführt wurde, und dann im globalen Variablenfenster (globaler Kontext) platziert
Javascript-Kontext
Globaler Kontext: Fenster
Funktion Kontext: Mit var innerhalb einer Funktion deklarierte Variablen sind lokale Variablen und werden nach Verlassen des Funktionsbereichs durch Garbage Collection erfasst. Schließungen werden nicht im Müll gesammelt.
Das heißt, die von var deklarierten Variablen werden während des Zeitraums vor der Ausführung in den entsprechenden Kontext gestellt und dann werden während des Ausführungszeitraums die Variablen im entsprechenden Kontext zugewiesen.
Antwort
undefiniert 2
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Inhalte finden Sie auf der chinesischen PHP-Website Andere verwandte Artikel!
Empfohlene Lektüre:
Node.js-Tutorial für Anfänger (1)
Das obige ist der detaillierte Inhalt vonEine Frage zum Umfang in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!