Pytanie o wydajnść

Alcadur

Użytkownik
Dołączył
Listopad 10, 2007
Posty
107
Witam
Czy jeśli mam jedną funkcje taką np.:
Kod:
function cos(c1,c2,c3,c4,c5,c6,…)
{
…
}
I chcę ją wykorzystać w kilku przypadkach ale niekiedy wykorzystuje tylko np. : c1 i c2
to bardziej opłaca się napisać nową funkcje czy po prostu nie robi to różnicy jeśli nie podam reszty argumentów?
czyli mam np.:
Kod:
function cos(c1,c2,c3,c4,c5)
{
…
}

Kod:
onClick=”cos(‘c1’,’c2’)”
Czy lepiej by była napisać zupełnie nową funkcję?
 

Alcadur

Użytkownik
Dołączył
Listopad 10, 2007
Posty
107
Dzięki, to jeszcze jedno pytanko:
Jakie są/mogą być konsekwencje nie podania argumentu tak tzn. takie coś jak ja pokazałem wyżej:
Kod:
ocClick="cos('c1','c2')"
Czyli nie podaje argumentów które mają być puste
 

hxv

Były Moderator
Dołączył
Sierpień 9, 2006
Posty
797
Zakładam że sam piszesz te funkcje. Musisz wewnątrz niej sprawdzać czy jest przekazany dany parametr i jeśli tak to go użyć. Jeśli chcesz wywołać funkcję z mniejszą ilością to najpierw musisz ją odpowiednio zdeklarować, np.
Kod:
function foo(var1, var2, var3='', var4='', var5=''){
  //...
}
Tutaj dwa pierwsze argumenty muszą być podane przy wywołaniu, reszta jest domyślnie ustawiona jako puste.
 

Alcadur

Użytkownik
Dołączył
Listopad 10, 2007
Posty
107
No tak ale jak będą domyślnie puste to nie będę im mógł potem przypisać wartości a mi chodzi o to żebym miał np.: 10 argumentów i przypisywał dowolnie wartości tym początkowy argumentom które są mi potrzebne a reszta ma być pusta automatycznie i się zastanawiałem czy coś takiego np. może pomuc:
Kod:
function cos(c1,c2,c3,c4,c5,c6,c7,c8)
{
if(c1=="") c1='';
if(c2=="") c2='';
...
}
Bo w Operze jak się nie przydzieli argumentom żadnej wartości to nie wyrzuca żadnych błędów ale nie wiem jak w innych przeglądarkach
 
Do góry Bottom