Avatar billede bolmer Nybegynder
29. maj 2005 - 17:59 Der er 3 kommentarer og
1 løsning

Endnu et spørgsmål til det føromtalte JavaScript

I det JavaScript der er blivet beskrevet tidligere  er der to ting som jeg ikke forstår:

function createOpts(sel){
    var s = new Array();
    var num = 0;
    var n = sel.selectedIndex;
    var args = createOpts.arguments.length;
    for(var i=1;args>i;i++){
        s[i-1] = document.getElementById(createOpts.arguments[i]);
        if(s[i-1]==sel)num=i;
    }
    if(args>1){
        if(s[num])sel = s[num];
        else return;
    }
...
...
...
...
}

Sidste linie i forløkken idenholder en if sætning, hvor der undersøges som array "s" indeholder "sel" på det udvalgte index. Men hvis funktionen bliver kaldt med fx tre argumenter hvordan kan et element i "s" så være ligmed "sel"?

I den sidste if sætning forstår jeg ikke hvordan "s[num]" kan evaluere til true eller false.
Avatar billede roenving Novice
04. juni 2005 - 16:39 #1
1. Nej den sammenligner elementet s[i-1], som hentes fra argument-listen, med sel, som er det første argument !-)

-- forklaringen er, at javascript accepterer ligeså mange argumenter til en funktion, som du lyster, også uden at de er angiver i funktionens signatur ...

Det er altså helt lovligt at kalde ovenstående funktion f.eks. med:

createOpts(document.getElementById('sel3'), document.getElementById('sel1'), document.getElementById('sel2'), document.getElementById('sel3'), document.getElementById('sel4'))

-- og bemærk, at argumenterne er html-elementer (objekter !-), som sagtens kan sammenlignes i javascript !-)

2. Og javascript er indrettet sådan, at alle 'ikke-værdi'er evalueres til false mens alle non-null-værdier evalueres til true i en if-sætning !-)

0, null, undefined og false evalueres altså alle til false !o]
Avatar billede bolmer Nybegynder
07. juli 2005 - 11:46 #2
Du skal have dine point
Avatar billede roenving Novice
07. juli 2005 - 11:47 #3
Oki '-)
Avatar billede roenving Novice
07. juli 2005 - 11:54 #4
-- og tak for point ;~}
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