Heim > Web-Frontend > js-Tutorial > Die Variablendeklaration in JavaScript erfolgt vor der Zuweisung

Die Variablendeklaration in JavaScript erfolgt vor der Zuweisung

高洛峰
Freigeben: 2016-11-26 09:18:43
Original
1188 Leute haben es durchsucht

Wie folgt
var a = 3;
Es gibt eigentlich zwei Schritte:
1 Initialisiere a auf undefiniert
2 Weise einen Wert zu 3

Es wird also einige geben " Unglaubliche Dinge Phänomen, das heißt, Variablen in JS können zuerst verwendet und dann deklariert werden. Dies ist in Java nicht zulässig.
System.out.println(a);
int a = 1;
Kompilierung schlägt fehl. Aber JS kann wie folgt:
alert(a);
var a;
Obwohl es undefiniert ist, wird kein Fehler gemeldet. Es zeigt, dass a tatsächlich deklariert und undefiniert ist.

Wenn es nur „alert(a)“ ohne „var a“ ist, meldet die JS-Engine einen Fehler.
alert(a);
Wie in FF gezeigt, kann

Die Variablendeklaration in JavaScript erfolgt vor der Zuweisung

zuerst verwendet und dann deklariert werden, dies führt jedoch dazu, dass die Wirkung der Zuweisung beeinträchtigt wird verloren. Wie folgt
alert(a);
var a = 1;
Dieses Mal ist die Ausgabe immer noch undefiniert statt 1.

Ein weiteres Beispiel:
alert('a' in window); // true
var a;
Obwohl der Code nach der Warnung offiziell geschrieben wird, verarbeitet die Engine die Var-Deklaration trotzdem automatisch Erste . Die endgültige Ausgabe ist wahr.

Nachdem man dies verstanden hat, ist es nicht schwer, die Ergebnisse des folgenden Codes zu verstehen

if (!("a" in window)) {
var a = 1;
}
alert(a);


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