Heim > Web-Frontend > js-Tutorial > Warum müssen wir das Schlüsselwort var hinzufügen, wenn wir Variablen in JavaScript_javascript-Tipps deklarieren?

Warum müssen wir das Schlüsselwort var hinzufügen, wenn wir Variablen in JavaScript_javascript-Tipps deklarieren?

WBOY
Freigeben: 2016-05-16 16:34:52
Original
1286 Leute haben es durchsucht

In JavaScript wird var zum Deklarieren von Variablen verwendet, diese Syntax ist jedoch nicht unbedingt erforderlich. In vielen Fällen können wir eine Variable direkt verwenden, ohne sie mit var zu deklarieren.

Code kopieren Der Code lautet wie folgt:

var x = „XX“; y="xxx";

Und so weiter. Es gibt ein Problem. Ich möchte beispielsweise in einer bestimmten Codezeile eine deklarierte Variable x verwenden. Aufgrund von Tipp- oder Rechtschreibfehlern wird die Variable als y geschrieben. Implizite" Deklaration einer Variablen. y, im eigentlichen Programmierprozess ist diese Art von Fehler manchmal schwer zu finden.
Wenn Sie diese „implizite“ Deklaration im aktuellen Kontext vornehmen, sucht die JavaScript-Engine zunächst im aktuellen Kontext, um zu sehen, ob diese Variable bereits zuvor deklariert wurde. Wenn nicht, gehen Sie zum vorherigen Kontext, um danach zu suchen nicht gefunden, diese Variable wird endgültig im Fenster deklariert!
Zum Beispiel:
Der Code lautet wie folgt:

window. y = "hello"; 
function func(){ 
y = "OH, NO!!!"; 
} 
func(); 
alert(window.y); //#=> display "OH, NO!!!" 
Nach dem Login kopieren
Wenn eine Ebene im Kontext eine solche „implizite“ definierte Variable hat, wird die Variable in dieser Ebene geändert, ohne dass eine neue Variable im Fenster generiert wird. (Diese Art von Fehler ist auch ziemlich ärgerlich, insbesondere wenn komplexerer Code gekapselt wird)

Zum Beispiel:

Der Code lautet wie folgt:

var x = "window.x"; 
function a() { 
var x = "a's x"; 
var b = function() { 
var c = function() { 
//no var! 
x = "c's x:"; 
}; 
alert("before c run,the b.x:" + x); 
c(); 
alert("after c run, the b.x:" + x); 
}; 
alert("a.x is:" + x); 
b(); 
alert("after b function runed, the a.x is:" + x); 
}; 
alert("before a run, window.x:" + x); 
a(); 
alert("after a run, window.x:" + x); 
Nach dem Login kopieren
Es gibt folgende Ebenen: window, func a, func b, func c sind immer hierarchisch verschachtelt. Fenster->a->b->c

Sowohl in window als auch in a ist die Variable x definiert, aber in b ist die Variable nicht definiert. In c wird ein x „implizit“ deklariert, und das x ändert letztendlich den Wert der a-Variablen.
Denken Sie daran, dass in JavaScript beim Deklarieren einer Variablen var.
vorangestellt werden muss

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