Heim > Artikel > Web-Frontend > Detailliertes Beispiel für die Unterscheidung, ob eine Variable in JavaScript mit oder ohne Variable definiert ist
Fassen wir den Unterschied zwischen der Verwendung des Schlüsselworts var bei der Definition von Variablen und der Nichtverwendung zusammen.
Innerhalb einer Funktion sind Variablen, die mit var und ohne var deklariert werden, unterschiedlich. Mit „var“ deklarierte Variablen sind lokale Variablen, und solche ohne „var“ sind globale Variablen, sodass Sie damit Schnittstelleninhalte der Außenwelt zugänglich machen können.
Es ist legal und harmlos, var-Anweisungen zu verwenden, um Deklarationsanweisungen zu wiederholen. Wenn die Anweisung mit einer Zuweisung wiederholt wird, unterscheidet sie sich nicht von einer normalen Zuweisungsanweisung. Wenn Sie versuchen, eine nicht deklarierte Variable zu lesen, meldet JS einen Fehler.
Im Funktionsumfang von JavaScript sind deklarierte Variablen oder interne Funktionen im Funktionskörper sichtbar. Das bedeutet, dass die Funktion möglicherweise verfügbar ist, bevor sie definiert wird. Es gibt zwei Möglichkeiten, eine Funktion zu definieren: Eine ist ein Funktionsdefinitionsausdruck und die andere ist eine Funktionsdeklarationsanweisung.
Funktionsdeklarationsanweisungen werden an den Anfang des externen Skripts oder des externen Funktionsbereichs „nach vorne gebracht“, sodass eine auf diese Weise deklarierte Funktion durch Code aufgerufen werden kann, der vor ihrer Definition erscheint. In Funktionsdefinitionsausdrücken erfolgt die Deklaration von Variablen, die Zuweisung zu Variablen jedoch nicht. Daher können in Ausdrücken definierte Funktionen nicht aufgerufen werden, bevor die Funktion definiert ist.
1. Mit var im Funktionsumfang definierte Variablen sind lokale Variablen, und ohne var definierte Variablen werden zu globalen Variablen.
Var-Definition verwenden:
var a = 'hello World'; function bb(){ var a = 'hello Bill'; console.log(a); } bb() //'hello Bill' console.log(a); //'hello world'
Var-Definition nicht verwenden:
var a = 'hello World'; function bb(){ a = 'hello Bill'; console.log(a); } bb() //'hello Bill' console.log(a); //'hello Bill'
2 Im globalen Bereich können mit var definierte Variablen nicht gelöscht werden und ohne var definierte Variablen. Dies bedeutet, dass implizite globale Variablen streng genommen keine realen Variablen sind, sondern Attribute des globalen Objekts, da Attribute durch Löschen gelöscht werden können Löschen, Variablen jedoch nicht.
3. Die Verwendung von var zum Definieren einer Variablen verbessert auch die Variablendeklaration, d. h.
Verwenden Sie var zum Definieren von:
function hh(){ console.log(a); var a = 'hello world'; } hh() //undefined
Var nicht verwenden Definition:
function hh(){ console.log(a); a = 'hello world'; } hh() //'a is not defined'
Dies ist die Deklaration von Variablen, die im Voraus mit var definiert wurden.
4. Wenn im ES5-Modus „strikt verwenden“ die Variable nicht mit var definiert ist, wird ein Fehler gemeldet.
Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Unterscheidung, ob eine Variable in JavaScript mit oder ohne Variable definiert ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!