Hi,
folgender Beispielfall:
// Klassendefinition:
function testKlasse() {
...
}// Methode der Klasse:
testKlasse.prototype.meinName = function() {
alert("Name der Instanz: "+this.[???])
}// eine Instanz der Klasse:
var testInstanz = new testKlasse();
testInstanz.meinName();
>
> Gibt es nun eine Möglichkeit, innerhalb der Methode "meinName" den Namen der Instanz zu erhalten (hier also "testInstanz"), so dass dieser ausgegeben werden kann?
Ich meine, ein solches Beispiel vor kurzem hier gesehen zu haben, also vielleicht mal das Archiv befragen. Eigentlich müsste es gehen, wenn man über window iteriert, welches "testInstanz" ja als Objekt enthält.
ungetestet:
~~~javascript
testKlasse.prototype.meinName = function() {
var myname = '';
for (var i in window) {
if (window[i] == this) {
myname = i;
}
}
alert("Name der Instanz: "+myname);
}
Allerdings: sonderlich "sauberer" Code ist das nicht. Wofür brauchst du das denn? Vielleicht gibt es einen anderen Weg.
Bis die Tage,
Matti