Babal: Name einer Variablen herausfinden

Hallo zusammen,

ist es möglich den Namen einer Variablen herauszufinden - also in etwa so etwas:

var MeinName = 1;
alert( MeinName.name + ' hat den Wert ' + MeinName );
// sollte "MeinName hat den Wert 1" ausgeben...

Danke im vorraus.

  1. Hallo!

    ist es möglich den Namen einer Variablen herauszufinden - also in etwa so etwas:

    var MeinName = 1;
    alert( MeinName.name + ' hat den Wert ' + MeinName );
    // sollte "MeinName hat den Wert 1" ausgeben...

    Mir ist nicht ganz klar, was du damit erreichen möchtest. Aber vielleicht helfen dir Arrays bzw. assoziative Arrays weiter. Diese sind in SelfHTML beschrieben.

    mfg
      frafu

    1. Mir ist nicht ganz klar, was du damit erreichen möchtest. Aber vielleicht helfen dir Arrays bzw. assoziative Arrays weiter. Diese sind in SelfHTML beschrieben.

      Hi,

      ich will setTimeout(...) oder eval(...) benutzen um auf Funktionen innerhalb Klassen zugreifen zu können - jedoch sind die Instanznamen der Klassen nicht bekannt (bzw. es soll angenommen werden sie sind nicht bekannt sind) - daher wuerde ich gerne zur Laufzeit erfahren welcher Name verwendet wurde. Arrays helfen mir daher leider nicht weiter.

      1. Moin!

        ich will setTimeout(...) oder eval(...) benutzen um auf Funktionen innerhalb Klassen zugreifen zu können - jedoch sind die Instanznamen der Klassen nicht bekannt (bzw. es soll angenommen werden sie sind nicht bekannt sind) - daher wuerde ich gerne zur Laufzeit erfahren welcher Name verwendet wurde. Arrays helfen mir daher leider nicht weiter.

        Bitte mehr Details.

        Einfache Variablen sind im Grunde in Javascript nur Eigenschaften des window-Objektes. Das bedeutet:

          
        alert(variable);  
        alert(window.variable);  
        alert(self.variable);  
        alert(top.variable)  
        alert(window['variable']);  
        
        

        gibt immer die gleiche Variable aus (self und top sind das identische Window-Objekt, top natürlich nur dann immer, wenn keine Frames im Spiel sind).

        Allerdings gibt es keine Eigenschaften der Eigenschaft, es existiert also kein variable.Name oder window.variable.Name in Javascript. Den Variablentypen stellt man ja beispielsweise mit typeof(variable) fest, mir ist aber kein varname(variable) bekannt.

        Insofern mußt du das Problem offensichtlich anders lösen.

        - Sven Rautenberg

        --
        My sssignature, my preciousssss!
      2. ich will setTimeout(...) oder eval(...) benutzen um auf Funktionen innerhalb Klassen zugreifen zu können - jedoch sind die Instanznamen der Klassen nicht bekannt (bzw. es soll angenommen werden sie sind nicht bekannt sind) - daher wuerde ich gerne zur Laufzeit erfahren welcher Name verwendet wurde. Arrays helfen mir daher leider nicht weiter.

        eval ist fast nie nötig

        Das SetTimeout Problem im zusammenhang mit Klassen wurde hier schon destöfteren durch diskutiert:

        Soweit ich mich erinnere kannst du in neueren Browser das Problem so lösen

        window.setTimeout( function() { this.Funktion() }, xxxx);

        Ansonsten ist hier ein langer Thread http://forum.de.selfhtml.org/archiv/2004/3/t77173/ mit einigen Lösungen.

        und dieser hier sollte auch etwas bieten:
        http://forum.de.selfhtml.org/archiv/2005/8/t113836/

        Struppi.