a dire il vero tu ne puoi passare quanti ne vuoi di argomenti ad una funzione. Solitamente la funzione gestisce solo quelli definiti nella sua definizione:
Ad esempio:
codice:
function MyTest(uno, due, tre){
alert(uno+" "+due+" "+tre);
}
MyTest("pippo", "ti", "saluta", "tanto", "e", "ti", "manda", "un", "bacio");
Verrà fatto l'alert solo dei primi 3 argomenti, "pippo ti saluta", gli altri saranno ignorati. Però non ci sono errori nel codice.
Tuttavia, JS offre una funzionalità per gestire un numero non fisso di argomenti, è l'array arguments, definito all'interno delle funzioni.
codice:
function MyBetterTest(){
var txt = "";
for(var i = 0; i < arguments.length; i++) txt += arguments[i] + " ";
alert(txt.substr(0, txt.length - 1));
}
MyBetterTest("pippo", "ti", "saluta", "tanto", "e", "ti", "manda", "un", "bacio");
Otterrai l'alert di tutto "pippo ti saluta tanto e ti manda un bacio".