Ce que cet article vous apporte est un exemple d'explication de l'objet arguments en Javascript. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Aujourd'hui, nous allons examiner l'objet et les propriétés des arguments. L'objet arguments ne peut pas être créé explicitement et l'objet arguments n'est disponible qu'au début de la fonction. L'objet arguments de la fonction n'est pas un tableau, et accéder aux paramètres individuels revient à accéder aux éléments du tableau. L’index n est en fait l’un des paramètres de l’attribut 0…n de l’objet arguments.
1 function add(a,b){ 2 console.log(typeof arguments); 3 for(var attr in arguments){ 4 console.log(attr+":"+arguments[attr]); 5 } 6 return a+b; 7 } 8 9 add(10,20)
Comme vous pouvez le voir sur la sortie, les arguments sont en fait un objet, pas un tableau, et ce tableau a 2 attributs, nommés 0 et 1. Leurs valeurs sont respectivement 10 et 20
En JavaScript, la liste des paramètres est divisée en paramètres formels et paramètres réels. Les paramètres formels sont les paramètres spécifiés lors de la définition de la fonction, et les paramètres réels sont les paramètres spécifiés lors de l'appel de la fonction. Par exemple, dans l'exemple ci-dessus, vous pouvez appeler la fonction via
alert(add(10))
Un seul paramètre est spécifié ici, c'est-à-dire que le nombre de paramètres réels est de 1 et le nombre de paramètres formels est de 2. En JavaScript, il n'est pas obligatoire que le nombre de paramètres réels soit le même que le nombre de paramètres formels. Le code ci-dessus peut également être exécuté. Sortez simplement NaN
En pratique, nous pouvons le faire, déterminez d'abord le nombre de paramètres
1 function add(a,b){ 2 3 //add.length也可以获取形参个数,但实际中用arguments.callee.length 4 if(arguments.length==arguments.callee.length){ 5 return a+b; 6 }else{ 7 return "参数错误"; 8 } 9 10 }
arguments.length : obtenez le nombre de paramètres réels
arguments .callee.length : obtenez le nombre de paramètres formels
arguments.callee : fait référence à la fonction elle-même
les arguments sont souvent utilisés pour les opérations récursives
Par exemple, trouvez un 1 à La somme de n
1 function fn(n){ 2 3 if(n==1){ 4 return 1; 5 }else{ 6 return n+arguments.callee(n-1); 7 } 8 } 9 10 alert(fn(100))
donne 5050
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!