Avatar billede rocha_dk Nybegynder
06. marts 2006 - 14:26 Der er 4 kommentarer og
1 løsning

Predefinere parametre i en funktion

Hej Eksperter,
Er det ikke muligt at predefinere en funktions parametre, f.eks:

function test(testVar = TRUE){}
Avatar billede o-zone Nybegynder
07. marts 2006 - 00:41 #1
Jeg har lidt svært ved at se hvad fordelen skulle være i det?
så kunne du jo ligeså godt bare skrive:

function test(){
  testVar = true;
}

eller evt.

function test(testVar){
  testVar = true;
}
:-O
/o-zone
Avatar billede roenving Novice
07. marts 2006 - 00:58 #2
I javascript skal du teste om en variabel findes, du kan ikke som f.eks. i php sætte en default-værdi ...

f.eks.

function test(testVar){
  if(typeof testVar == 'undefined')
    testVar = true;
  //resten af koden ...
}

>>o-zone

-- der er rigtig mange gode grunde til at benytte den slags, da javascript ikke tillader flere funktionsdefinitioner med forskellige parametre, men det alligevel kan være særdeles nyttigt at have default-værdier, f.eks. i følgende kodestump, der skriver en cookie:

function skrivCookie(name,value,expTime,path){//Tid i dage
  switch(skrivCookie.arguments.length){
    case 1:
      var expTime = 0;
      var path = "/";
    case 2:
      var expTime = 0;
      var path = "/";
    case 3:
      var path = "/";
  }
  var exp = new Date().getTime()+expTime*24*60*60*1000;
  exp = new Date(exp).toGMTString();
  var cook = name + "=" + escape(value) + ";expires=" + exp + ";path=" + path;
  document.cookie = cook;
}

-- det er jo lidt rart, at man ikke behøver at angive de parametre der alligevel skal være en default-værdi !-)
Avatar billede rocha_dk Nybegynder
31. marts 2006 - 21:06 #3
tak for svaret roenving, hvis du smider et svar så du kan få nogle point :)
Avatar billede roenving Novice
03. april 2006 - 18:46 #4
Velbekomme '-)

PS. I de 'rigtige' programmeringssprog bruger man termen at overloade en funktion når man laver flere udgaver af den samme, det ord kunne jeg ikke finde, da jeg skrev ovenstående indlæg !-)
Avatar billede roenving Novice
08. januar 2007 - 13:18 #5
-- 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