Referência prática de argumento de funções em JavaScript
O parâmetro extra 'arguments' e está disponível para funções quando elas são invocadas...
Um parâmetro extra que está disponível para funções quando elas são invocadas é a matriz arguments
.
Ela dá acesso à função a todos os argumentos que foram fornecidos com a invocação, incluindo algum a mais que não foi
atribuído a nenhum parâmetro nomeado. Isso torna possível escrever funções que possuem um número de parâmetros variável.
(Crockford, O melhor do JavaScript, pág 27)
Veja um exemplo:
/**
* Cria um função que soma um monte de coisas.
*/
function sum() {
var i, sum = 0;
for (i = 0; i < arguments.length; i += 1) {
sum += arguments[i];
}
return sum;
};
console.log( sum(4, 8, 15, 16, 23, 42) ); // 108
Veja outro exemplo:
/**
* Retorna o maior dos argumentos passados
*/
function findMax() {
var i, max = 0;
for (i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
console.log( findMax(4, 8, 15, 16, 23, 42) ); // 42