thecreep: Namen eines objektes ermitteln

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

  1. 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

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Ich hab das Problem jetzt anders gelöst,
      trotzdem danke :)

      MfG
      thecreep

    2. 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

      1. 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

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. 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

  3. 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.