ich bin gerade dabei, eine proxy.pac zu überarbeiten (JS) und bin auf folgendes Problem gestoßen (wobei ich glaube, dass es eher ein Denkfehler ist…):
Es gibt verschiedene Variablen, die folgendermaßen lauten:
nnn_aaa
nnn_bbb
nnn_ccc
In einer Abfrage wird eine weitere Variable (standort) auf aaa, bbb oder ccc gesetzt.
Nun möchte ich, dass das komplette Programm (oder eher die Funktion) den Wert der Variablen:
„nnn_“+standort zurückgibt.
aber durch
return „nnn_“+standort
oder auch
temp = „nnn_“+standort
return temp;
bekomme ich (was auch irgendwie logisch ist) nur den jeweiligen String, also zum Beispiel „nnn_aaa“ zurück. Wie kann ich JS mitteilen, dass er den String als Variable behandeln soll?
wenn ihr ehrlich bin hilft mir das nicht wirklich weiter.
das ist einfach:
Also deine Methode liefert den Namen der Variable als String
zurück:
return „nnn_“+standort
Genau…
Und so benutzt den String für den Variablennamen:
> vName = deineMethode();
> eval(vName + "=27;");
Der übergebenen Variable wird der Wert 27 zugewiesen.
Hilft das weiter?
Leider nein. Ich habe ja keine Rechenoperationen, die ausgeführt werden sollen. Es soll lediglich ein zusammegesetzter String als Variable erkannt und deren Inhalt zurückgegeben werden.
Leider nein. Ich habe ja keine Rechenoperationen, die
ausgeführt werden sollen. Es soll lediglich ein
zusammegesetzter String als Variable erkannt und deren Inhalt
zurückgegeben werden.
Habe mich wohl falsch ausgedrückt.
Ein neuer Versuch:
vName = deineMethode(); // also der Variablenname als String (return-wert)
eval("erg = " + vName); // Variable auslesen uns zuweisen
Leider nein. Ich habe ja keine Rechenoperationen, die
ausgeführt werden sollen. Es soll lediglich ein
zusammegesetzter String als Variable erkannt und deren Inhalt
zurückgegeben werden.
Habe mich wohl falsch ausgedrückt.
Ein neuer Versuch:
vName = deineMethode(); // also der Variablenname als String
(return-wert)
eval("erg = " + vName); // Variable auslesen uns zuweisen