Namen eines objektes ermitteln
thecreep
- javascript
Hi,
ich schreibe gerade an einem Javascript-Objekt:
function Fader(id)
{
this.div = document.getElementById(id);
this.id = id;
this.ai = 0;
this.images = new Array("./IMAGES/Fahrer/borch.jpg","./IMAGES/Fahrer/micha.jpg");
this.createImages = function(){
this.div.innerHTML="";
for(i=0;i<this.images.length;i++)
this.div.innerHTML+=this+"<img style='"+(i==this.ai?'':'display:none;')+"' src='"+this.images[i]+"'>";
}
this.addImage = function(img){
this.images[this.images.length]=img;
}
}
var myfader = new Faer("fadediv");
Nun ist es so, dass ich den Namen (also "myfader") im "Konstruktor" (also Fader()) benutzen will, dies aber allgemein halten will.
Gibt es eine Möglichkeit den Namen des erzeugten Objektes zu ermitteln?
MfG
thecreep
Hi,
var myfader = new Faer("fadediv");
Nun ist es so, dass ich den Namen (also "myfader") im "Konstruktor" (also Fader()) benutzen will
Wozu?
Gibt es eine Möglichkeit den Namen des erzeugten Objektes zu ermitteln?
Nein (keine triviale).
MfG ChrisB
Hi,
this.div.innerHTML+=this+"<img style='"+(i==this.ai?'':'display:none;')+"' src='"+this.images[i]+"'>";
Du solltest noch die toString()-Methode Deines Objektes erwähnen.
Gibt es eine Möglichkeit den Namen des erzeugten Objektes zu ermitteln?
Wie lautet denn der Name von
new Fader('foo');
oder von
foo = bar = qaz = baz = new Fader('foo');
?
Cheatah
Ich hab das Problem jetzt anders gelöst,
trotzdem danke :)
MfG
thecreep
Hallo,
Du solltest noch die toString()-Methode Deines Objektes erwähnen.
Genau. Wenn man einen Namen bzw. einen "primitive value" für ein Objekt braucht, Kann man ihm eine toString- oder eine valueOf-Methode oder beides geben, z.B. so:
var O = function (str) {
this.toString=function(){return str;};
/* der Rest vom Code */
}
Gruß, Don P
Hi,
Du solltest noch die toString()-Methode Deines Objektes erwähnen.
Genau. Wenn man einen Namen bzw. einen "primitive value" für ein Objekt braucht, Kann man ihm eine toString- oder eine valueOf-Methode oder beides geben
Wobei das hier eher weniger sinnvoll sein dürfte.
Cheatah erwähnte es wohl nur, weil der Frager sein Element bereits so verwendete, als hätte es eine eigene solche Methode, die etwas in dem Kontext *sinnvolles* liefert. Davon war aber nichts zu erkennen.
MfG ChrisB
Hallo,
Du solltest noch die toString()-Methode Deines Objektes erwähnen.
Genau. Wenn man einen Namen bzw. einen "primitive value" für ein Objekt braucht, Kann man ihm eine toString- oder eine valueOf-Methode oder beides geben
Wobei das hier eher weniger sinnvoll sein dürfte.
Sinnvoll oder nicht, es ist machbar, wenn jemand meint das zu brauchen. Die wenigsten Kunstweke sind irgendwie sinnvoll, zumindst nicht für jeden.
Wobei ich den Code des OP nicht gerade als Kunstwerk bezeichnen will, aber vielleicht gehört er zu einem solchen, man weiß ja nie...
Gruß, Don P
Nun ist es so, dass ich den Namen (also "myfader") im "Konstruktor" (also Fader()) benutzen will, dies aber allgemein halten will.
Dieser wunsch ist immer ein Zeichen von einem falschen Ansatz, der sich in JS mit anderen Mittel viel eleganter umgehen läßt.
Gibt es eine Möglichkeit den Namen des erzeugten Objektes zu ermitteln?
Leider verrätst du uns nicht, wozu du das brauchst, ansonsten hätten wir dir sicher bessere Wege zeigen können.
Struppi.