Varablename aus Strings zusammenbauen
BloodySword
- javascript
Ich habe mal gesehen, dass manchmal ein $( ... ) in Javascript verwendet wird um Variablennamen aus Strings zusammen zu bauen. Wie genau wendet man das an?
Vielen Dank!
Ich habe mal gesehen, dass manchmal ein $( ... ) in Javascript verwendet wird um Variablennamen aus Strings zusammen zu bauen. Wie genau wendet man das an?
in vielen c-ähnlichen sprachen funktioniert das ähnlich, in php zb so:
$variable = 'foobar'; // name für die variable
${$variable} = 'ich bin der inhalt'; // zuweisung des werts in die variable-variable
echo $foobar;
leider ist mir die javascript-syntax diesbezüglich nicht bekannt
im übrigen sind variable variablen etwas unpraktisch, arrays halte ich in den meisten fällen für die bessere wahl (kommt auf den anwendungszweck an)
Hi,
leider ist mir die javascript-syntax diesbezüglich nicht bekannt
var lala = "hallo";
alert(self["la"+"la"])
Gruesse, Joachim
Hi,
leider ist mir die javascript-syntax diesbezüglich nicht bekannt
var lala = "hallo";
alert(self["la"+"la"])Gruesse, Joachim
Das geht also auch?
Ist window["la"+"la"] auch erlaubt? Funktionieren tut es, mich interessiert da eher der JavaScript Standard. ^^
Hi,
alert(self["la"+"la"])
Das geht also auch?
Ist window["la"+"la"] auch erlaubt?
self ist window.
Funktionieren tut es, mich interessiert da eher der JavaScript Standard.
Das hat mit window nur in so fern zu tun, dass Variablen im globalen Gueltigkeitsbereich in den JavaScript-Implementierungen der Browser als Eigenschaften des window-Objektes hinterlegt werden.
Das gilt aber generell fuer jede andere Objekteigenschaft genauso.
MfG ChrisB
Das hat mit window nur in so fern zu tun, dass Variablen im globalen Gueltigkeitsbereich in den JavaScript-Implementierungen der Browser als Eigenschaften des window-Objektes hinterlegt werden.
Das gilt aber generell fuer jede andere Objekteigenschaft genauso.
Danke, das hat mir sehr weiter geholfen! :)
Hi,
Ist window["la"+"la"] auch erlaubt?
wie Chris gesagt hat...
Alternativ kannst Du auch Objekte erzeugen:
var varvar = {
lala : "hello worls",
foo : "am ende wird alles gut"
}
alert (varvar["la" + "la"]);
Weiterhin kannst Du auch Strings mit eval() zu Variablen zusammensetzen. Allerdings ist eval etwas verpönt.
Gruesse, Joachim
Ich habe mal gesehen, dass manchmal ein $( ... ) in Javascript verwendet wird um Variablennamen aus Strings zusammen zu bauen. Wie genau wendet man das an?
Also $ ist eine Funktion in verschiedenen JavaScript-Frameworks, mit der man Elemente im Dokument anspricht. Z.B. über ihre ID oder über einen CSS-artigen Selektor.
Was hat das jetzt mit dem Zusammenbauen von Variablennamen zu tun?
Siehe auch https://forum.selfhtml.org/?t=182413&m=1209032.
Mathias
Hi,
Siehe auch https://forum.selfhtml.org/?t=182413&m=1209032.
gibt es eigentlich, analog zu window["myvarname"], eine Möglichkeit auf eine lokale Variable innerhalb einer Funktion zuzugreifen (Abgesehen davon natürlich, dass man sich dazu ein Objekt anlegen kann...)?
Gruesse, Joachim
gibt es eigentlich, analog zu window["myvarname"], eine Möglichkeit auf eine lokale Variable innerhalb einer Funktion zuzugreifen
Lokale Funktionsvariablen hängen am internen Variable Object, das man nicht zu fassen bekommt. Also wäre nur eval möglich, weil das Variable Object in der Scope Chain liegt.
Mathias
Hi,
Lokale Funktionsvariablen hängen am internen Variable Object, das man nicht zu fassen bekommt.
hab gestern schon fast an mir gezweifel...
Danke & Gruesse, Joachim