No artigo anterior, discutimos os parâmetros padrão no JavaScript. Neste artigo, discutiremos o objeto de parâmetro de argumentos do JavaScript.
Como fazemos processamento diferente com base nos parâmetros passados em uma função no exemplo a seguir?
A cópia do código é a seguinte:
função addall () {
// O que fazemos aqui?
}
// deve retornar 6
addall (1, 2, 3);
// deve retornar 10
addall (1, 2, 3, 4);
Felizmente, o JavaScript possui um objeto de argumentos que pode lidar com as situações acima. O objeto de argumentos é um objeto de matriz. Se você quiser saber os detalhes do objeto de argumentos, clique aqui. Usamos o objeto de argumentos para alterar o exemplo acima:
A cópia do código é a seguinte:
função addall () {
var sum = 0;
for (var i = 0; i <argumentos.length; i ++) {
soma += argumentos [i];
}
soma de retorno;
}
// retorna 6
addall (1, 2, 3);
// retorna 10
addall (1, 2, 3, 4);
Dissemos acima que o objeto de argumentos é um objeto de classe de classe. Vamos testá -lo abaixo:
A cópia do código é a seguinte:
function getName () {
console.log (Array.esArray (argumentos));
}
// será produzido falso
getName ("Benjamin");
Os resultados dos testes acima podem ser vistos:
Não é um objeto de matriz, então qual é a diferença entre ele e um objeto de matriz? Clique aqui para obter detalhes.
A execução do exemplo a seguir lançará um erro:
A cópia do código é a seguinte:
function sTELARGS () {
// Uncathed TypeError: indefinido não é uma função
classificado = argumentos.sort ()
retornar classificado;
}
STELARGS ();
Podemos converter um objeto de matriz em um objeto de matriz como o seguinte:
A cópia do código é a seguinte:
function sTELARGS () {
// Converter argumentos objeto em uma matriz real
var args = [] .slice.call (argumentos);
// Agora isso vai funcionar!
classificado = args.sort ()
retornar classificado;
}
// será produzido [1, 2, 3]
console.log (STELARGS (1,3,2));
Se você acha que este artigo é útil para você, espero transmiti -lo a mais pessoas necessitadas. Se houver algum artigo inadequado, deixe uma mensagem para corrigi -lo.