Maison > interface Web > js tutoriel > le corps du texte

Une brève analyse de l'attribut length de la fonction dans les connaissances JavaScript_Basic

WBOY
Libérer: 2016-05-16 16:46:45
original
1085 Les gens l'ont consulté

[1,2,3].length peut obtenir 3, "123".length peut aussi obtenir 3, tous ceux qui connaissent un peu js le savent.

Mais qu'obtiendront eval.length, RegExp.length, "".toString.length, 1..toString.length ?

Nous obtenons respectivement 1, 2, 0 et 1. Que représentent ces nombres ?

C'est une question que de nombreux nouveaux venus dans le groupe se posent. En fait, la longueur de la fonction obtient le nombre de paramètres formels.
Jetons un coup d'œil rapide à un exemple :

Copier le code Le code est le suivant :

test de fonction (a,b,c) {}
test.longueur // 3

test de fonction(a,b,c,d) {}
test.length // 4

N'est-ce pas très simple, mais il existe aussi des cas particuliers. Si les paramètres sont appelés via des arguments à l'intérieur de la fonction sans réellement définir les paramètres, la longueur n'obtiendra que 0.

Copier le code Le code est le suivant :

function test() { console.log( arguments ); }
test.length // 0

Cette fonction peut en effet transmettre des paramètres, et les paramètres sont également appelés en interne, mais length ne peut pas connaître le nombre de paramètres transmis.
Le nombre de paramètres réels ne peut être obtenu que via arguments.length lorsque la fonction est exécutée.

Copier le code Le code est le suivant :

function test() { console.log( arguments.length );}
test(1,2,3); // Sortie 3
test(1,2,3,4); // Sortie 4

Ainsi, l'attribut length d'une fonction ne peut obtenir que le nombre de ses paramètres formels, mais pas le nombre de paramètres réels.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal