zuweisen Kann jemand diesen (Code in globalen Bereich) erklärenJavascript globale Variablen themself
var a = a || 4 // a exists & is 4
window.a = window.a || 4 // a exists & is 4
window.a = a || 4 // a is undefined error
a = a || 4 // a is undefined error
eine Erklärung, was der Unterschied zwischen diesen vier Aufgaben ist und warum einige handhaben es richtig, aber andere nicht.
[Bearbeiten] Dieses spezielle Beispiel wurde auf der V8 Chrome-Konsole getestet.
Natürlich hier die Differenz auf ein Objekt eine nicht definierte Eigenschaft ist und ein nicht angemeldetes Objekt. Warum ist ein Undefined zur Kompilierzeit aber zur Laufzeit nicht deklariert? – Raynos
Die Anweisung 'var' deklariert die Variable im nächstgelegenen Kapselungsbereich und setzt sie auf 'undefiniert'. Wenn es nicht 'var' gibt, wird überhaupt keine Variable deklariert. Daher der Referenzfehler. –
Nice one Ich wusste nicht, ein 'var bar = 0' wurde zur Kompilierzeit im Funktionsumfang definiert. Deshalb brauche ich nur eine "var" -Anweisung statt zwei – Raynos