Esta variable actúa como un argv de C, o un args de Java: es un vector con todos los parámetros con los que ha sido llamada la función.
Para saber el número de parámetros enviados podemos usar el método .length, y usándolo dentro de unfor podemos recorrer todos los parámetros.
Un ejemplo de uso sería:
function indefinidos(){ var msj = ""; for(var i =0; i<arguments.length; i++) msj += " - Parametro "+i+": "+arguments[i]+" "; alert( msj); } indefinidos(1,2,3); indefinidos("Hola","Adios");
Con ésto nos saldrían dos mensajes de alerta, uno con el texto:
- Parametro 0: 1
- Parametro 1: 2
- Parametro 2: 3
Y otro con el texto:
- Parametro 0: Hola
- Parametro 1: Adios
Cabe aclarar que, en una función que tenga parámetros definidos, arguments seguirá conteniendo todos los parámetros de la función, no sólo los que no tengan variables asignadas. Así, este ejemplo dará exactamente el mismo resultado que el anterior:
function indefinidos(a){ var msj = ""; for(var i =0; i<arguments.length; i++) msj += " - Parametro "+i+": "+arguments[i]+"<br>"; alert( msj); } indefinidos(1,2,3); indefinidos("Hola","Adios");
Editado por Daniel el 28/02/2008 a las 06:05:47h.