Vor einiger Zeit habe ich einen Unterschied zwischen der Verwendung des Schlüsselworts VAR beim Definieren von Variablen beantwortet. Lassen Sie es uns überprüfen.
1. Die Variablen, die durch Hinzufügen von VAR zum Umfang der Funktion definiert sind, sind lokale Variablen, und die ohne VAR werden zu globalen Variablen.
Verwenden Sie VAR, um zu definieren:
var a = 'Hallo Welt'; Funktion bb () {var a = 'Hallo Bill'; console.log (a); } bb () // 'Hallo Bill'console.log (a); // 'Hallo Welt'Var Definition nicht verwenden:
var a = 'Hallo Welt'; Funktion bb () {a = 'Hallo Bill'; console.log (a); } bb () // 'Hallo Bill'console.log (a); // 'Hallo Bill'2. Unter dem globalen Bereich können Variablen, die mit Var definiert sind, nicht gelöscht werden, und Variablen ohne VAR können gelöscht werden. Dies bedeutet, dass implizite globale Variablen ausschließlich keine realen Variablen sind, sondern Attribute globaler Objekte, da Attribute durch Löschen gelöscht werden können und Variablen nicht sein können.
3. Das Definieren von Variablen mit Var verbessert auch die variablen Deklarationen, d.h.
Verwenden Sie VAR, um zu definieren:
Funktion hh () {console.log (a); var a = 'Hallo Welt';} HH () // undefiniertVar Definition nicht verwenden:
Funktion hh () {console.log (a); a = 'Hallo Welt';} HH () // 'a ist nicht definiert'Dies ist die Deklaration von Variablen, die im Voraus mit Var definiert sind.
4. In dem "Strict" -Modus von ES5 wird ein Fehler gemeldet, wenn die Variable nicht mit Var definiert ist.