Cheatah: JavaScript: Objekte und Kontext: Unlogischer Fehler

Beitrag lesen

Hi,

Oh mann, das ist doch nicht wahr. Das Ding kann nicht zwischen Variable und Funktion unterscheiden?

nein, JavaScript kann nicht zwischen Eigenschaften des window-Objektes und Eigenschaften des window-Objektes unterscheiden.

Logisch ist es aber trotzdem nicht, warum es außerhalb der Funktion klappt und innerhalb nicht.

Doch, weil a) Variablen hier nicht mehr Eigenschaften des window-Objektes sind und b) vor der Ausführung des Codes erstellt werden. Du greifst somit nicht mehr auf die globale tag()-Funktion zu, sondern auf die lokale Variable - die leer ist (also undefined enthält).

Müsste doch beides schiefgehen nach deiner Erklärung oder nicht???

Nein. Der Unterschied ist, dass es einmal im Kontext etwas gibt, was sich instanziieren lässt, und das andere mal nicht. Somit erzeugst Du einmal die Variable mit etwas Existierendem und einmal mit undefined.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes