Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über den Unterschied zwischen der Definition von Variablen in JavaScript mit oder ohne var-Declaration_Javascript-Kenntnisse

Eine kurze Diskussion über den Unterschied zwischen der Definition von Variablen in JavaScript mit oder ohne var-Declaration_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:39:121032Durchsuche

Vor einiger Zeit habe ich eine Frage zum Unterschied zwischen der Verwendung des Schlüsselworts var beim Definieren von Variablen beantwortet oder nicht. Lassen Sie es mich zusammenfassen.

1. Im Funktionsumfang sind mit var definierte Variablen lokale Variablen und ohne var definierte Variablen werden zu globalen Variablen.
Verwenden Sie die Variablendefinition:

var a = 'hello World';
function bb(){
 var a = 'hello Bill';
 console.log(a);  
}
bb()      //'hello Bill'
console.log(a);  //'hello world'

Verwenden Sie keine Variablendefinition:

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 können durch Löschen gelöscht werden, Variablen jedoch nicht.

3. Durch die Verwendung von var zum Definieren einer Variablen wird auch die Variablendeklaration vorangetrieben, d. h.
Verwenden Sie die Variablendefinition:

function hh(){
 console.log(a);
 var a = 'hello world';
}
hh()      //undefined

Verwenden Sie keine Variablendefinition:

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 die Variable im ES5-Modus „strikt verwenden“ nicht mit var definiert ist, wird ein Fehler gemeldet.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn