Struppi: Objekt erwartet, in Zeile eines Funktionsaufrufes

Beitrag lesen

mit "bzgl. des DOM" (=Document Object Model) meine ich, dass man mit "this" ein Element im HTML-Baum anspricht, wie z.B. in unserem Fall ein Formularelement oder sowas.

hmmm? du meinst als Parameter in einem Event onevent="Func(this)" ansonsten spielt es da erstmal eine untergeordnete Rolle.

Innerhalb von reinen JavaScript-Objekten bzw. -Funktionen ist meistens klar, was "this" ist, aber JavaScript macht sogar dort Fehler, nämlich in sog. closures (eingebetten Funktionen).

Inwiefern Fehler?
Wie gesagt es spielt immer der Kontext eine Rolle. Du meinst sowas?

function Obj() {  
 var closure = function() {  
 alert(this);  
 }  
 closure();  
}  
  
new Obj();  

Hier erfolgt der Aufruf des closure im window Kontext, folgerichtig ist this = window

Das kannst du z.b. so umgehen:

function Obj() {  
 var closure = function() {  
 alert(this);  
 }  
 closure.call(this);  
}  
  
new Obj(); 

Struppi.