Christopher: Variablen-Zugriff mittels "Pseudo-Variable"

Hi!

Ich kenn diese Implementierungsweise von PHP und habe sie auch in Javascript bereits beobachtet - jedoch wieder vergessen.

In meinem Script gibt es eine Menge von Arrays. Nun gibt es insgesamt EINE Funktion, die auf EINES dieser Arrays zugreifen wird. Die Identifizierung soll mit dem Übergeben des Variablen-Bezeichners geschehen: Anstatt die gesamte Variable zu übergeben, gibt es nur den Namen.

Bei PHP funktioniert das (dummy) so:

  
$globale_variable = "wert";  
$variablen_name   = "globale_variable";  
echo ${$variablen_name}; // ergibt: wert  

Wie lässt sich das in Javascript implementieren und wie genau nennt man diese Implementierungsweise??

Vielen Dank für das Aushelfen!

  1. Hallo,

    globale Variablen sind in JavaScript nichts anderes als Eigenschaft des globalen Objektes, das ist window.

    Neben der üblichen Schreibweise objekt.unterobjekt kann man den Namen des Unterobjektes als String in eckigen Klammern notieren:

    window["unterobjekt"]

    Gleichsam kann man eine Variable zwischen die Klammern schreiben:

    window[stringMitVariablennamen]

    wie genau nennt man diese Implementierungsweise??

    Zugriff auf Objekt-Eigenschaften?? Die Operatoren . und [] heißen »Property Accessor«.

    Mathias

    1. Gleichsam kann man eine Variable zwischen die Klammern schreiben:

      window[stringMitVariablennamen]

      Hat gut geklappt, danke!

  2. Hi,

    Bei PHP funktioniert das (dummy) so:

    Du solltest vergessen, dass es so etwas gibt. Der Wunsch nach einem solchen Feature ist in annähernd 100% aller Fälle ein deutliches Zeichen für einen eklatanten Konzeptfehler. Verwende statt dessen assoziative Arrays.

    Wie lässt sich das in Javascript implementieren und wie genau nennt man diese Implementierungsweise??

    JavaScript kennt keine assoziativen Arrays, aber Teile der Verwendung sind ähnlich zum allgemeinen Objekt-Konzept von JavaScript. Siehe molilys Antwort.

    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