Maison > interface Web > js tutoriel > Une brève discussion sur les attributs des fonctions javascript et les compétences méthodes_javascript

Une brève discussion sur les attributs des fonctions javascript et les compétences méthodes_javascript

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

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

Copier le code Le code est le suivant :

fonction sayName(nom) {
alerte(nom);
>
fonction somme (num1, num2) {
                 return num1 num2;
>
fonction sayHi() {
              alert("salut");
>
alert(sayName.length);//1 Le nombre de paramètres est un
​​​​ alert(sum.length);//2 Nombre de paramètres : 2
alert(sayHi.length);//0 Aucun paramètre

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)

Copier le code Le code est le suivant :

fonction somme (num1, num2) {
                 return num1 num2;
>
fonction callSum1(num1, num2) {
                 return sum.apply(this, arguments);//Passer l'objet arguments
>
          fonction callSum2(num1, num2) {
              return sum.apply(this, [num1, num2]);
>
alert(callSum1(10, 10));//20
alert(callSum2(10, 20));//30

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

.

Copier le code Le code est le suivant :

fonction somme (num1, num2) {
                 return num1 num2;
>
         fonction callSum(num1, num2) {
               return sum.call(this, num1, num2);
>
alert(callSum(10, 200));

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.

Copier le code Le code est le suivant :

          window.color = "rouge";
      var o = {couleur : "bleu"};
fonction sayColor() {
alerte(this.color);
>
         sayColor();//red
          sayColor.call(this);//red
          sayColor.call(window);//red
          sayColor.call(o);//blue

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

Copier le code Le code est le suivant :

window.color = "rouge";
      var o = {couleur : "bleu"};
fonction sayColor() {
alerte(this.color);
>
        var bindFun = sayColor.bind(o);
        bindFun();//bleu

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il vous plaira.

É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