Avatar billede almaj Nybegynder
27. august 2004 - 15:29 Der er 4 kommentarer

variabelt funktionsnavn

Hejsa,
Jeg har en menustruktur, hvor forskellige menupunkter bliver kaldt vha. følgende: m_forside.showClicked(); (m_forside angiver at det er forsiden).

Nu vil jeg så gerne lave det sådan at jeg i en variabel jeg alligevel har på alle sider tager menupunktet og så bruger det istedet. Problemet er bare at jeg ikke helt kan få det til at virke!

Jeg troede at noget ala:

var menu = "m_forside";
menu.showClicked();

Skulle få det til at virke, men det gør det ikke. Menu variablen er sat "fast" i eksemplet for at gøre det lidt mere simpelt. Er der nogen der kan hjælpe?
Avatar billede grunken Nybegynder
27. august 2004 - 16:22 #1
brug eval - selv om denne løsning ikke er optimal, og en løsning højst sandsynlig ville kunne bygges på en anden og mere optimal måde ;o)

var menu = "m_forside";
eval(menu+".showClicked()");

Læs evt. mere om eval her ->
http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/toplev.html#1063795
Avatar billede roenving Novice
28. august 2004 - 13:07 #2
Det må absolut kunne gøres mere smart, kan du ikke lægge et link til hvordan du vil bruge det ?-)

Et eksempel kunne være: parent.frames[menu].showClicked();
Avatar billede almaj Nybegynder
30. august 2004 - 09:50 #3
hejsa,
Jeg har desværre ikke et eksempel der ligger online, men løsningen med eval fungerer fint. Hvorfor skulle den være mindre optimal end andre løsninger (det er jo kun 2 liniers kode jeg indsætter). Ellers havde jeg overvejet om brugen af this kunne ordne tingene i stedet...
Avatar billede roenving Novice
30. august 2004 - 11:31 #4
eval er generelt set meget dårligt performende, derfor bør man søge andre løsninger, hvis det overhovedet er muligt !-)

-- og da du åbenbart har brug for en reference, ville det jo være indlysende at lægge den ind direkte !o]
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester