Heim > Web-Frontend > js-Tutorial > Verstehen Sie wirklich den Unterschied zwischen dem Hinzufügen von Var und dem Nicht-Hinzufügen von Var in den Javascript-_Javascript-Kenntnissen?

Verstehen Sie wirklich den Unterschied zwischen dem Hinzufügen von Var und dem Nicht-Hinzufügen von Var in den Javascript-_Javascript-Kenntnissen?

WBOY
Freigeben: 2016-05-16 15:21:27
Original
1888 Leute haben es durchsucht

Javascript ist ein Produkt, das dem ECMAScript-Standard folgt, und natürlich muss es dem ECMAScript-Standard folgen.

Sehen wir uns zunächst die Definition und Verwendung des Schlüsselworts var an

Die

var-Anweisung wird zum Deklarieren von Variablen verwendet.

Das Erstellen von JavaScript-Variablen wird auch als „Deklarieren“ einer Variablen bezeichnet:

Code kopieren Der Code lautet wie folgt:

var carName;

Nachdem eine Variable deklariert wurde, ist die Variable leer (hat keinen Wert).

Variablen kopieren, der Vorgang ist wie folgt:

Code kopieren Der Code lautet wie folgt:

carName = "Volvo";

Bei der Deklaration einer Variablen können Sie der Variablen auch einen Wert zuweisen:

Code kopieren Der Code lautet wie folgt:

var carName = "Volvo";

Grammatik

Code kopieren Der Code lautet wie folgt:

var varname = value;

Parameterwert

Parameter Beschreibung
varname Erforderlich. Geben Sie den Variablennamen an.

Variablennamen können Buchstaben, Zahlen, Unterstriche und Dollarzeichen enthalten.

  • Variablennamen müssen mit einem Buchstaben beginnen
  • Variablennamen können auch mit $ und _ beginnen (werden aber im Allgemeinen nicht auf diese Weise verwendet)
  • Variablennamen unterscheiden zwischen Groß- und Kleinschreibung (y und Y sind unterschiedliche Variablen)
  • Reservierte Wörter (z. B. JavaScript-Schlüsselwörter) können nicht als Variablennamen verwendet werden
Wert Optional. Geben Sie den Wert der Variablen an.

Hinweis: Wenn eine Variablendeklaration keinen Wert angibt, ist ihr Standardwert undefiniert

Jeder hat viele Artikel gelesen und alle sagen, man solle die implizite Deklaration globaler Variablen vermeiden, was bedeutet, dass „var“ vor der Deklaration einer Variablen hinzugefügt werden muss. Was ist also der Unterschied zwischen dem Hinzufügen von „var“ und dem Nichthinzufügen von „var“? ?

Schauen wir uns zunächst einen Code an

var a = 'aa';
alert(a); //弹出 'aa'
alert(window.a)//弹出'aa' 
Nach dem Login kopieren

Verstanden ist, dass Sie beim Deklarieren einer globalen Variablen tatsächlich ein Attribut zum „Fenster“-Objekt hinzufügen. Der folgende Code hat den gleichen Effekt

a = 'aa';
alert(a); //弹出 'aa'
alert(window.a)//弹出'aa' 
Nach dem Login kopieren

Dann sind „var a = ‚aa‘“ und „a = ‚aa‘“ beide globale Variablen. Was ist der Unterschied? Schauen Sie sich die folgenden zwei Codeteile an

var a = 'aa';
delete window.a; // false 
a = 'aa';
delete window.a; // true 
Nach dem Login kopieren

Sie alle fügen dem „Fenster“-Objekt Attribute hinzu, eines kann gelöscht werden und das andere kann nicht gelöscht werden. Aber das Hinzufügen von „var“ macht es bereichsbezogen. Ohne „var“ fügen Sie Attribute immer dynamisch zum „window“-Objekt hinzu. Der folgende Code beweist dies

var test = function(){
 a = 'aa';
}
test();
alert(window.a);//弹出'aa' 
Nach dem Login kopieren
Da das Fensterobjekt ein globales Objekt ist, kann es standardmäßig weggelassen werden. Der folgende Absatz hat den gleichen Effekt


var test = function(){
 a = 'aa';
}
test();
alert(a);//弹出'aa' 
Nach dem Login kopieren
Apropos, ernsthaft nachdenkende Schüler müssen jetzt eine Frage haben: Warum können implizit deklarierte globale Variablen gelöscht werden, explizit deklarierte globale Variablen jedoch nicht?


Der Grund dafür ist, dass „Eigenschaften, deren Konfigurierbarkeit falsch ist, durch Löschen nicht gelöscht werden können“, z. B. die Eigenschaften globaler Objekte, die durch Variablendeklarationen oder Funktionsdeklarationen erstellt wurden


delete Object.prototype; // false 不可删除,该属性是不可配置的
var a = 'aa';
delete window.a;//false 不可删除,该属性是不可配置的
function test(){};
delete window.test;//false 不可删除,该属性是不可配置的 
Nach dem Login kopieren
Dann verstehen Sie nicht, dass die mit „var“ deklarierte globale Variable tatsächlich ein nicht konfigurierbares Attribut zum „window“-Objekt hinzufügt, während die ohne „var“ deklarierte globale Variable tatsächlich ein nicht konfigurierbares Attribut zum hinzufügt Dem Objekt „window“ wird eine konfigurierbare Eigenschaft hinzugefügt.


Beachten Sie, dass Fenster überall dort, wo oben verwendet wird, durch Folgendes ersetzt werden kann, z. B.:


var test = function(){
 a = 'aa';
}
test();
alert(this.a);//弹出'aa' 
Nach dem Login kopieren
Was den Grund betrifft, lesen Sie bitte den Artikel, den ich zuvor geschrieben habe

„Dies, dies, besprechen Sie dies noch einmal in Javascript, super umfassend“

Im Folgenden wird das Schlüsselwort var in Javascript herausgezogen und für jeden separat erklärt.

Wir wissen, dass wir beim Definieren einer Variablen das Schlüsselwort Var verwenden müssen. Bei der Verwendung des Schlüsselworts Var müssen wir auf dessen Verwendung achten:

Die folgenden Beispiele veranschaulichen vollständig, dass Var unterschiedliche Ausführungsergebnisse liefert, wenn es verwendet oder nicht verwendet wird und wenn globale Variablen und lokale Variablen definiert sind.

var var01 = 1;
function funtest() {
 document.write(var01);
 var var01 = 0;
} 
Nach dem Login kopieren
Das Ergebnis ist: undefiniert


var var01 = 1;
function funtest() {
 document.write(var01);
 var01 = 0;
} 
Nach dem Login kopieren
Das Ergebnis ist: 1


 var01 = 1;
function funtest() {
 document.write(var01);
 var var01 = 0;
}
Nach dem Login kopieren
Das Ergebnis ist: undefiniert


var01 = 1;
function funtest() {
 document.write(var01);
 var01 = 0;
}
Nach dem Login kopieren
Das Ergebnis ist: 1


Sehen Sie hier, wie viel Sie über var in JavaScript wissen. Ich glaube, dass jeder etwas davon haben wird, wenn er diesen Artikel lernt. Um mehr über Javascript Var zu erfahren, achten Sie bitte weiterhin auf diese Website. Vielen Dank!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage