Guía JavaScript 1.5:Usando el objeto arguments
De MDC
[editar] Usando el objeto arguments
Los argumentos de una función son guardados en un objeto como si fuera un Arreglo. Dentro de una función puede localizar los argumentos pasados de la siguiente forma:
arguments[i]
Donde i sería el número de orden del argumento, empezando desde el cero (0). Así que el primer argumento pasado a la función sería arguments[0]. El número total de argumentos sería indicado por
arguments.length
Utilizando el objeto arguments, se puede invocar a una función con más argumentos de los que ésta esté formalmente declarada. Esto es a menudo muy útil si no se sabe con antelación cuantos argumentos serán pasados a la función. Puede utilizar arguments.length para determinar el número de argumentos realmente pasados a la función y entonces tratar cada argumento usando el objeto arguments
Por ejemplo, considerando una función que une varias cadenas, el único argumento formal para la función es una cadena que especifica los caracteres que separan los elementos a unir. La función es definida así:
function miConcatenación(separador) {
var resultado = ""; // inicia la lista
// iteratúa através de los argumentos
for (var i = 1; i < arguments.length; i++) //a partír del argumento 1 en adelante, argumento 0 es separador
{
resultado += arguments[i] + separador;
}
return resultado;
}
Puede pasar cualquier número de argumentos a esta función y ésta concatenará cada argumento a la lista de cadenas.
// devuleve "rojo, naranja, azul,"
miConcatenacion(", ", "rojo", "naranja", "azul"); //separador y valores
// devolverá "elefante; jirafa; león; chita; "
miConcatenacion("; ", "elefante", "jirafa", "león", "chita");
// devolverá "sgae. chorizos. ladrones. rufianes. macacos. "
myConcat(". ", "sgae", "chorizos", "ladrones", "rufianes", "macacos");
Véase Objeto Function en la referencia del núcleo de JavaScript para obtener más información.
[editar] JavaScript 1.3 y versiones anteriores
El objeto arguments es una propiedad del objeto Function y puede ser precedido del nombre de la función. ejemplo:
Nombrefunción.arguments[i]