Visit Mozilla.org

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]