Struppi: Objekt erwartet, in Zeile eines Funktionsaufrufes

Beitrag lesen

Ja, wie alle Funktionen, die du Ohne Objekt aufrufst, aber dafür gibt es ja dann .call()

Sowas nennt man glaub' "Salt", eine unbequeme Sache, deren Sinn sich niemandem recht erschließt. Unbequem deshalb, weil man extra .call() bemühen muss für etwas, das in anderen Zusammenhängen ganz problemlos einfach nur funktioniert.

Ich gehe noch weiter und nenne es einen Fehler in der Programmiersprache. Wenn man das globale Objekt ausnahmsweise mal wirklich meint, kann man es auch direkt ansprechen, sofern es überhaupt einen Namen hat ("window"). Eigentlich hat es ja keinen...

http://www.ecma-international.org/publications/standards/Ecma-262.htm
Ich tu mich schwer damit

Für diesen Fall scheint mir der Absatz relevant zu sein:

Function Code (10.2.3)

[..]

• The caller provides the this value. If the this value provided by the caller is not an object (including

the case where it is null), then the this value is the global object.

Aber ehrlich gesagt verstehe ich das nicht genau. Fakt ist aber, dass das closure nicht an this gebunden wird.

Preisfrage:
Welches Statement ist schneller: "window.document" oder nur "document"?

Das ist mir auch schon über den Weg gelaufen, weißt du auch warum?
Die Seiten die ich zu "JS optimization" gefunden habe, empfehlen alle window.document

Struppi.