Variable variable verarbeiten
Chris Ross
- javascript
0 wahsaga0 Chris Ross0 rfb
Hi Gemeinde,
ich beisse mir die Zähne aus und komme einfach nicht weiter. Normalerweise programmiere ich in PHP und mache "so nebenbei" ein bisschen Javascript. Jetzt hänge ich an folgendem Problem:
function test(address, parking, customer) {
var wert = 'wert';
var wert1 = address;
var wert2 = parking;
for(i=1; i<3; i++) {
alert(wert+=i);
}
}
Aufgerufen wird die Funktion mit:
<a href="javascript:test('Mustergasse 7, 12345 Musterdorf', 'Hahnengasse 135, 12345 Musterdorf', 'Kunde')">klick</a>
Ich möchte also, dass die Variable wert1 und die variable wert2 nacheinander angezeigt wird. Dazu hänge ich amateur einfach die Var i aus der Schleife an das wort "wert" und meine, dass damit die Variable wert1, bzw wert2 angesprochen wird. Statt den tatsächlichen Wert "address" aus wert1 und des Wertes "parking" aus Var wert2 auszugeben, zeigt er lediglich "wert1" bzw "wert2" im alert an.
Das ich mächtig auf dem Holzweg bin, weiß ich auch, aber WIE kann ich den Fall lösen, OHNE jetzt Javascript komplett zu erlernen. :)
In PHP wäre das kein Problem für mich, nur in JS bin ich halt nicht soooo belesen.
Für Tipps in diese Richtung wäre ich sehr dankbar.
Schönen Gruß
Chris
hi,
Das ich mächtig auf dem Holzweg bin, weiß ich auch, aber WIE kann ich den Fall lösen, OHNE jetzt Javascript komplett zu erlernen. :)
Statt solcher Variablenkonstrukte mit fortlaufenden Nummern empfehlen sich in aller Regel Arrays (und dabei eigentlich ganz egal, in welcher Sprache).
gruß,
wahsaga
Statt solcher Variablenkonstrukte mit fortlaufenden Nummern empfehlen sich in aller Regel Arrays (und dabei eigentlich ganz egal, in welcher Sprache).
Hi auch,
du meinst sowas?
function test(address, parking, customer) {
var wert = new Array();
wert[0] = new Object;
wert[0][0] = address;
wert[0][1] = parking;
for(var i = 0; i < 2; i++) {
alert(wert[0][i]);
}
}
:))
Manchmal sieht man den Wald vor lauter Bäumen nicht. Danke, dass Du mir auf'S Pferd geholfen hast. :))
Grüße
Chris
Moin
du meinst sowas?
wert[0] = new Object;
wozu ein Object ?
Praktischerweise sind deine Werte sowieso schon in einem Array (arguments enthält alle Argumente aus dem Funktionsaufruf), so dass sich dein Code effektiv umschreiben lässt zu:
function test(address, parking, customer) {
for(var i=0; i<arguments.length; i++) {
alert(arguments[i]);
}
}
Gruß
rfb