molily: document objekt

Beitrag lesen

O.k., da ich JSLint immer wieder benutze und wie ich bei http://coffeescript.org/ grade las, sollten Variablen ja sowieso deklariert werden.

Klar, denn eine Variable, die nicht deklariert wird, ist keine Variable. ;)

Bei einer Wertzuweisung an einen beliebigen Bezeichner (foo = 'bar') wird in der Scope Chain gesucht, und wenn keine lokale Funktionsvariable oder kein Parameter mit dem Bezeichner gefunden wird, wird letztlich beim globalen Objekt eine Property angelegt.

Werden sie nicht innerhalb einer Funktion mit var deklariert geht dann JS davon aus, dass sie im globalen Scope hätten deklariert werden müssen (gehört dann wohl weniger zu den "good parts", dass JS das so korrigiert).

Dieser Fehler ist im ECMAScript 5 Strict Mode nicht mehr möglich, weshalb man tunlichst den Strict Mode verwenden sollte.

Mathias