No es muy conocido, pero se puede usar funciones con un número variable de parámetros en JavaScript. Es más sencillo que en otros lenguajes de programación. Para empezar, en este caso en la cabecera de la función no hará falta indicar ningún parámetro de entrada, ya que se desconoce hasta que no es llamada.
Luego, dentro de la funcion, los parámetros pasados se almacenan dentro de la colección llamada arguments. Esta colección puede recorrerse con un array, es decir, simplemente indicando entre corchetes el número de la posición ([i]). También se puede conocer la cantidad de parámetros recibidos por la función mediante arguments.length, de la misma manera que un array cualquiera en JavaScript.
A continuación hay un ejemplo de función con un número variable de parámetros en JavaScript. En concreto esta función devuelve la suma de los números pasados como parámetros. Para ellos recorre el array arguments y los va sumando en la variable retval.
function sum() { var retval = 0; for (var i = 0, len = arguments.length; i < len; ++i) { retval += arguments[i]; } return retval; }
Un ejemplo de llamada a la función que acabamos de ver, podría ser la siguiente:
var res = sum(1, 3, 7)
En este caso la variable res valdría 11, que es el resultado de la operación 1+3+7. Cada variable JavaScript recogida en el for, se manejaría como cualquier otra variable.