Toon posts:

[Javascript] Variabele variabele

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi,

Ik denk dat het topic best duidelijk is :
Is het mogelijk in Javascript gebruik te maken van variable variabelen ?

beschrijving :

blaat12='har';
var1=12;
var2='blaat'+var1;

hoe kan ik nu de waarde van blaat12 tonen ?

Verwijderd

Veelal is dit typisch een verkeerde aanpak.
Je kunt vaak beter je waarden in een array zetten:

blaat[12] = 'har';
var1 = 12;
var2 = blaat[var1];

Dus ik zou even wat meer gaan lezen over arrays.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

eval('var2=blaat' + var1 + ';');

http://gathering.tweakers.net/listtopics.php/13

Programmer - an organism that turns coffee into software.


Verwijderd

Op maandag 20 mei 2002 17:10 schreef LuCarD het volgende:
eval('var2=blaat' + var1 + ';');

http://gathering.tweakers.net/listtopics.php/13
En eval is natuurlijk een functie die je zoveel mogelijk moet vermijden in iedere object oriented (of prototype in dit geval) taal.

Eigenlijk kun je volledig zonder die functie, als je hem wilt gebruiken, of denkt nodig te hebben, dan is je manier van scripten niet de juiste.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op maandag 20 mei 2002 17:18 schreef Cheatah het volgende:

[..]

En eval is natuurlijk een functie die je zoveel mogelijk moet vermijden in iedere object oriented (of prototype in dit geval) taal.

Eigenlijk kun je volledig zonder die functie, als je hem wilt gebruiken, of denkt nodig te hebben, dan is je manier van scripten niet de juiste.
Helemaal mee eens....

Maar het niet geven van info is ook onjuist....
De persoon moet wel de keuze krijgen tussen mogelijkheid a en b.

Ook al weet jij zelf dat optie b (de eval in dit geval) niet helemaal netjes is... btw fout is het niet...

Programmer - an organism that turns coffee into software.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

P&W -> W&G

Verwijderd

Op maandag 20 mei 2002 17:28 schreef LuCarD het volgende:

Maar het niet geven van info is ook onjuist....
De persoon moet wel de keuze krijgen tussen mogelijkheid a en b.
Dat is ook waar ja :)
Goed, dan zijn we het eens :Y)

Verwijderd

Op maandag 20 mei 2002 17:18 schreef Cheatah het volgende:
Eigenlijk kun je volledig zonder die functie, als je hem wilt gebruiken, of denkt nodig te hebben, dan is je manier van scripten niet de juiste.
Dat is wel errug kort door de bocht meneer Cheatah :P

Ik ben het met je eens dat eval zo veel mogelijk vermeden moet worden maar er zijn zeker situaties te bedenken waar het van pas komt.

Een mooi voorbeeld is het 'uitvoeren na het einde van iets anders', bijvoorbeeld een animatie.
code:
1
2
blaatObject.animateTo(345,567);
blaatObject.afterAni = 'alert("meuh")';

Waarbij de variabele .afterAni geevald wordt na de animatie.

Hmm. ik bedenk me net dat dat misschien ook zo kan:
code:
1
2
3
blaatObject.animateTo(345,567);
blaatObject.afterAniFunc = alert;
blaatObject.afterAniArgs = ["meuh"];

Beetje omslachtig misschien :o

  • Norjee
  • Registratie: April 2000
  • Niet online
* Norjee is erg benieuwd hoe je dit zonder een eval kan doen...

de i is het id, dus link 21 moet "onmouseover = some_fun(22 , 1)" krijgen enz.
code:
1
2
for(i=0 ; i < document.links.length ; i++)
    eval("document.links[i].onmouseover = function () {some_fun("+i+" , 1)}");
Pagina: 1