Avatar billede rookieboy Nybegynder
03. januar 2008 - 10:52 Der er 5 kommentarer

2 måder at deklarerer en funktion på. Hvad er forskellen?

Er der nogen forskel (ud over syntaxen naturligvis) på disse to måder at deklarere en funktion på:


minFunktion = function(arg:String):String{
    return arg;
}

function minFunktion(arg:String):String{
    return arg;
}

/ Christian
Avatar billede barklund Nybegynder
03. januar 2008 - 12:05 #1
Hvis du har købt min bog, så står det meget tydelig forklaret, men en af forskellene er type-validering:

minFunktion = function(arg:String):String{
    return arg;
}
var t:Number = minFunktion(1);

Vs.

function minFunktion(arg:String):String{
    return arg;
}
var t:Number = minFunktion(1);

Det kaster fejl både med hensyn til argumentet (der ikke er en string) og returtypen (der forsøges gemt i et number).

En anden forskel er tilgængelighed:

trace(minFunktion("hej"));
minFunktion = function(arg:String):String{
    return arg;
}

Giver undefined, da funktionen ikke findes endnu.

Mens:

trace(minFunktion("hej"));
function minFunktion(arg:String):String{
    return arg;
}

Virker fint, da funktionsdefinitionen altid køres først.
Avatar billede barklund Nybegynder
03. januar 2008 - 12:05 #2
Mht. returtypevalidering, så giver sidstnævnte explicitte funktion fuld validering mens førstnævnte ikke gør.
Avatar billede rookieboy Nybegynder
03. januar 2008 - 19:31 #3
Tak for info Barklund - Det kunne jeg jo have læst i din bog, men havde den ikke lige med på job i dag :-)

Ps. Har du fået min mail?
Avatar billede rookieboy Nybegynder
03. januar 2008 - 19:31 #4
Smid lige et svar for points
Avatar billede barklund Nybegynder
03. januar 2008 - 19:57 #5
Ja og ja :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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