function myclass ()
{
this.array = new Array ();
this.array[0] = "Wert1";
this.array[1] = "Wert2";
this.array[2] = "Wert3";
this.wert = 100;
}//var cls = null;
myclass.prototype.sort = function ()
{
//cls = this;
this.array.sort (this.sortcb);
//cls = null;
}myclass.prototype.sortcb = function (p1, p2)
{
//alert (cls.wert);
alert (this.wert);
return true;
}
Das macht erstmal keinen Sinn, die sort Funktion hat im Prinzip nichts mit der Klasse zu tun, sondern ist Teil des Arrays und selbst dort ist es nur eine Hilfsfunktion und kein Teil des Objektes.
mach's z.b. so:
myclass.prototype.sort = function ()
{
my sortcb = function (p1, p2)
{
alert (this.wert);
return true;
}
this.array.sort (sortcb);
}
Jetzt liefert "alert (this.wert);" ein "undefined". Das führe ich mal dadrauf zurück, daß "this" nicht auf das erzeugte Objekt zeigt sondern auf den Prototypen der Funktion.
Nein this zeigt auf das Array.
Struppi.
Javascript ist toll (Perl auch!)