Avatar billede kurtspurt Nybegynder
31. oktober 2001 - 19:25 Der er 12 kommentarer og
1 løsning

kald en variabel som du har navnet på i en variabel

Kan man kalde en variabel hvor man finder navnet ud fra data i en anden variabel

kixet forsøg:

nif=\'blom\'
eval(nif+\'3\')=\'hej\'
alert(blom3)

ideen var at det skulle give det samme som
alert(\'hej\')
Avatar billede jakoba Nybegynder
31. oktober 2001 - 19:28 #1
din eval sætning skulle så laves om til:

eval( nif+\'3=\"hej\";\');

så bliver der oprettet en variabel ved navn blom3 i dit vindues scope.

mvh JakobA
Avatar billede jakoba Nybegynder
31. oktober 2001 - 19:31 #2
du kunne evt også gøre det uden eval:

window[nif+3] = \"hej\";  // lidt hurtiger
alert( blom3 );
Avatar billede kurtspurt Nybegynder
31. oktober 2001 - 19:47 #3
er det ikke lidt underligt at man kan bruge window - giver det nogen logisk mening?
Avatar billede olebole Juniormester
31. oktober 2001 - 23:02 #4
<ole>
Nej, det er ikke så mærkeligt. Alle variabler er properties på window-objektet  ;o)
/mvh
</bole>
Avatar billede jumper Nybegynder
01. november 2001 - 10:44 #5
Der er absolut ingen grund til at bruge eval til noget så simpelt som dynamiske objekt referencer.

Alle variabler og funktioner er egentlig properties på Global objektet i JS. Når hosten er en browser, er Global objektet window. Derfor er disse 2 linjer ens:

mitTal = 3
window[\"mitTal\"] = 3

eval er meget overkill, og bør undgåes så vidt muligt overhovedet.

/Thor
Avatar billede olebole Juniormester
01. november 2001 - 10:48 #6
Hehe ...Jolly Jumper\'s kæphest  ;oD
...men bevares - jeg er helt enig. eval() er en langsommelig - og ofte overflødigt anvendt - fætter!  :)
/mvh
Avatar billede jumper Nybegynder
01. november 2001 - 10:50 #7
Global objektet:

http://msdn.microsoft.com/library/en-us/script56/html/js56jsobjglobal.asp

Gah, jeg skriver sgi snart en artikel om det og smider på JScript.dk :D

/Thor
Avatar billede jakoba Nybegynder
01. november 2001 - 10:52 #8
Glæder mig.
Avatar billede olebole Juniormester
01. november 2001 - 10:53 #9
Jaja ...hvis du får lov af Admin på JScript.dk - han skulle vist være noget af hård negl!
På den anden side: Mon ikke han kan bestikkes med en fadøl eller to?  =oD
/mvh
Avatar billede jumper Nybegynder
01. november 2001 - 10:56 #10
ole > while(++Beer<Number.POSITIVE_INFINITY)bribe(JScript.Admin);

/Thor
Avatar billede olebole Juniormester
01. november 2001 - 10:58 #11
Thor >> if ( bribe(JScript.Admin)>0 ) alert(\"I know that cat...!!!\")  *ROTFLM geeky AO*  =oD
Avatar billede jumper Nybegynder
01. november 2001 - 11:03 #12
try {
  for (var User in Eksperten){
    Eksperten[User].bribe(JScript.Admin)
  }
} catch(e){
  alert(\"A trappable error occured\\n ADMIN TOO DRUNK !\")
}

/Thor
Avatar billede olebole Juniormester
01. november 2001 - 11:15 #13
...call that error \'trappable\'...?!?!?!  =oD
/mvh
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