Die Funktionsdefinition von JavaScript hat eine Funktion, mit der zuerst die gesamte Funktionsbody -Anweisung scannt und alle deklarierten Variablen an die Spitze der Funktion "aktualisiert" werden:
'strict'; Funktion foo () {var x = 'Hallo,' + y; Alarm (x); var y = 'bob';} foo ();Obwohl es sich um einen strengen Modus handelt, ist die Anweisung var x = 'Hallo,' + y; meldet keinen Fehler, da die Variable y später deklariert wird. Alarm zeigt jedoch und definierte Hallo und zeigt an, dass der Wert der Variablen y undefiniert ist. Dies liegt genau daran, dass die JavaScript -Engine die Variablenerklärung automatisch verbessert, aber die Zuordnung von Variablen y nicht erhöht.
Für die obige Funktion foo () entspricht der von der JavaScript -Engine beobachtete Code:
Funktion foo () {var y; // Deklaration der Erhöhung der Variablen y var x = 'Hallo,' + y; Alarm (x); y = 'bob';}Aufgrund dieser seltsamen "Merkmal" von JavaScript halten Sie sich, wenn wir Variablen innerhalb einer Funktion definieren, die Regel "," alle Variablen zuerst innerhalb einer Funktion "zu deklarieren. Die häufigste Möglichkeit ist, einen VAR zu verwenden, um alle in der Funktion verwendeten Variablen zu deklarieren:
Funktion foo () {var x = 1, // x wird auf 1 y = x + 1 initialisiert, // y wird auf 2 z initialisiert, i; // z und ich sind undefiniert // andere Aussagen: für (i = 0; i <100; i ++) {...}}Der obige Artikel über die Verbesserung des detaillierten Verständnisses von JS-Variablen ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.