Chaque fonction contient deux propriétés : longueur et prototype
Longueur : Le nombre de paramètres nommés que la fonction actuelle espère accepter
Prototype : C'est le véritable endroit pour sauvegarder toutes leurs méthodes de force
Chaque fonction contient deux méthodes non héritées : apply() et call()
Ces deux méthodes appellent des fonctions dans une portée spécifique, ce qui équivaut en fait à définir la valeur de cet objet dans le corps de la fonction
Tout d'abord, apply() accepte deux paramètres : l'un est la portée dans laquelle la fonction s'exécute et l'autre est le tableau de paramètres (qui peut être une instance de tableau ou un objet arguments)
Deuxièmement, le premier paramètre de la méthode d'appel n'a pas changé. Ce qui a changé, c'est que les paramètres restants sont tous des paramètres passés. Les paramètres passés à la fonction doivent être répertoriés un par un
. Quant à la méthode la plus pratique à utiliser, tout dépend de vos souhaits. S'il n'y a pas de paramètres, ce sera le même quel que soit celui utilisé.
Cependant, les méthodes d'application et d'appel ne servent certainement pas uniquement à obtenir les paramètres de coque.
Leur véritable utilisation des arts martiaux est d’élargir la fonction.
Le plus grand avantage de l'utilisation de apply et call pour étendre la portée est qu'elle ne nécessite aucune relation de couplage avec la méthode.
ECMAScript5 définit également une méthode : bind(). Cette méthode créera une instance de la fonction dont cette valeur sera liée à la valeur passée à la fonction de liaison
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il vous plaira.