molily: Variablennamen und Variablenreferenzen

Beitrag lesen

Hallo,

Ich übergebe einer JavaScript-Funktion den namen einer globalen Variable und möchte, dass die Funktion den Wert dieser Variablen ändert.

Also wie in PHP:
$breite  = 0;
$varname = "breite"
$$varname = 100;

Danach ist $breite == 100;

Eine gewöhnliche Variable im globalen Scope ist in JavaScript ein Unterobjekt (bzw. eine Eigenschaft) des window-Hostobjekts. Die Eigenschaften können über window.variablenname und über window['variablenname'] angesprochen werden. Näheres dazu erfährst du unter http://aktuell.de.selfhtml.org/artikel/javascript/oomodell/.

function bla (variablenname, wert) {
 window[variablenname] = wert;
}

var breite = 0; // Auf die Variable breite kann im globalen Scope über breite, this.breite, window.breite (self.breite, u.U. top.breite), this['breite'] und window['breite'] (self['breite'], u.U. top['breite']) zugegriffen werden.
var variablenname = 'breite';
bla(variablenname, 100);
window.alert(breite); // = 100

Mathias