Paul: String in Variablennamen umwandeln

Moin.
Wie kann ich einen String in einen Variablennamen umwandeln?

  
  var a = obj.id;  
  document.getElementById('mapContainer').innerHTML = a;  

Hier ist a z.B. 'Wasser'. Nun möchte ich, z.B. mit innerHTML (bitte keine Kommentare) die Variable mit dem Namen Wasser benutzen.

Danke,
Paul

  1. @@Paul:

    nuqneH

    Hier ist a z.B. 'Wasser'. Nun möchte ich, z.B. mit innerHTML (bitte keine Kommentare) die Variable mit dem Namen Wasser benutzen.

    Globale Variablen sind Eingenschaften des window-Objekts. Dann geht’s mit <http://de.selfhtml.org/javascript/objekte/forms.htm@title=Schema 4>:

    var Wasser = "Wasser ist nass.";  
    var a = "Wasser";  
      
    alert (window[a]); // Wasser ist nass.
    

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Vielen Dank Euch beiden!

  2. [latex]Mae  govannen![/latex]

    Hier ist a z.B. 'Wasser'. Nun möchte ich, z.B. mit innerHTML (bitte keine Kommentare) die Variable mit dem Namen Wasser benutzen.

    die einfachste Möglichkeit ist eval, aber die ist einfach zu gefährlich, denn wenn jemand JS-Code einschleust, wird dieser dann ausgeführt.

    Eine globale Variable kann man anlegen mit window[a] , dann kannst du mit window[a] oder wenn du den Namen kennst mit window['wasser'] darauf zugreifen. Globale Variablen sind aber bäh.

    Willst du einen andern Kontext, kannst du statt window ein leeres Objekt nehmen

    var o = {};
    Lesenden und schreibenden Zugriff dann mit o[a]

    Stur lächeln und winken, Männer!
    Kai

    --
    Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
    in Richtung "Mess up the Web".(suit)
    SelfHTML-Forum-Stylesheet