Dans l'article précédent, nous avons discuté des paramètres par défaut dans JavaScript. Dans cet article, nous discuterons de l'objet paramètre des arguments de JavaScript.
Comment faire différents traitements en fonction des paramètres passés dans une fonction dans l'exemple suivant?
La copie de code est la suivante:
fonction addall () {
// Que faisons-nous ici?
}
// devrait retourner 6
Addall (1, 2, 3);
// devrait retourner 10
Addall (1, 2, 3, 4);
Heureusement, JavaScript a un objet d'arguments qui peut gérer les situations ci-dessus. L'objet d'arguments est un objet de tableau. Si vous souhaitez connaître les détails de l'objet Arguments, veuillez cliquer ici. Nous utilisons l'objet Arguments pour modifier l'exemple ci-dessus:
La copie de code est la suivante:
fonction addall () {
var sum = 0;
pour (var i = 0; i <arguments.length; i ++) {
sum + = arguments [i];
}
somme de retour;
}
// retourne 6
Addall (1, 2, 3);
// Renvoie 10
Addall (1, 2, 3, 4);
Nous avons dit ci-dessus que l'objet d'arguments est un objet de classe de tableau. Tessons-le ci-dessous:
La copie de code est la suivante:
fonction getName () {
console.log (array.isArray (arguments));
}
// sortira faux
getName ("Benjamin");
Les résultats des tests ci-dessus peuvent être vus:
Ce n'est pas un objet de tableau, alors quelle est la différence entre elle et un objet de tableau? Veuillez cliquer ici pour plus de détails.
L'exécution de l'exemple suivant lancera une erreur:
La copie de code est la suivante:
fonction sortargs () {
// non apparenté de type: non défini n'est pas une fonction
Tried = arguments.sort ()
retour trié;
}
sortargs ();
Nous pouvons convertir un objet de tableau en un objet de tableau comme celui qui suit:
La copie de code est la suivante:
fonction sortargs () {
// convertir les arguments objet en un vrai tableau
var args = [] .slice.call (arguments);
// Maintenant, cela fonctionnera!
tri = args.sort ()
retour trié;
}
// sera sorti [1, 2, 3]
console.log (Sortargs (1,3,2));
Si vous pensez que cet article vous est utile, j'espère le transmettre à plus de personnes dans le besoin. S'il y a un article inapproprié, veuillez laisser un message pour le corriger.