Avatar billede baileys Nybegynder
18. marts 2003 - 13:42 Der er 5 kommentarer og
1 løsning

Unødvendige parametre?

Kan jeg bestemme, om nogle parametre til mine functioner behøver at være der?

F.eks. hvis jeg har:

function myAlert(text,aBool,moreText){
  alert(text);
  if(aBool){
    alert(moreText);
  }
}

Så vil jeg gerne nøjes med f.eks. at kunne kalde min function med myAlert('Hey',false); istedet for myAlert('Hey',false,'');

Er det muligt eller...?
Avatar billede ghazaleh Nybegynder
18. marts 2003 - 13:46 #1
nej man skal altid have det samme antal parametre
Avatar billede atoft Nybegynder
18. marts 2003 - 13:53 #2
Det kan du sagtens. De parametre du sender med bliver base null
Avatar billede ghazaleh Nybegynder
18. marts 2003 - 13:56 #3
atoft > er du sikker? jeg kan huske at jeg en gang lavede en funktion, som hele tiden gik i fejl, indtil jeg fandt ud af at jeg skulle have det rigtige antal parametre med, men der kan selvfølgelig have været noget andet galt..
Avatar billede atoft Nybegynder
18. marts 2003 - 13:58 #4
Jeg bruger selv funktioner som anvender optionelle parametre uden problemer.

faktisk kan man se alle parameter i arguments collectionen.
Avatar billede Slettet bruger
18. marts 2003 - 15:17 #5
En god måde at klare det på er:

function myAlert(text, moreText) {
  alert(text);
  if (myAlert.arguments.length == 2)
    alert(moreText);
}

Så kaldes den enten med:

myAlert("hey");

... eller:

myAlert("hey", "hey igen");
Avatar billede baileys Nybegynder
19. marts 2003 - 09:26 #6
Eller f.eks.

function myAlert(text, moreText) {
  alert(text);
  if (typeof(moreText) == 'string')
    alert(moreText);
}

Takker for svaret
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