dr.colossos: this innerhalb von privater Methode?

Beitrag lesen

Hi,

kann mir jemand sagen wie ich innerhalb einer PRIVATEN Methode das zugehoerige Objekt referenzieren kann?

Ich kriegs nicht hin, hier ein kleiner Test um das Problem zu verdeutlichen ...

function Test()
{
 // erwarteter output erscheint: "public->this = [object Object]"
 this.publicFunction = function()
 {
  alert("public->this = " + this);
 }

// erwarteter output erscheint NICHT, sondern: "private->this = [object Window]"
 function privateFunction()
 {
  alert("private->this = " + this);
 }
 this.publicFunction(); // liefert "public->this = [object Object]"
 privateFunction();  // liefert "private->this = [object Window]"
}
t = new Test();   // Objekt erzeugen
t.publicFunction();  // liefert "public->this = [object Object]"
t.privateFunction(); // liefert natuerlich Fehler, weil private Methode

Klar, ich koennte nur public Methoden schreiben, aber das is allenfalls ein workaround.

Was muss ich anders/besser machen?

Danke & Servus