Maison >interface Web >js tutoriel >Utilisation de call(), apply()

Utilisation de call(), apply()

一个新手
一个新手original
2017-10-12 10:02:081267parcourir

1, call() et apply() sont utilisés pour changer ceci pointe, la différence est que la liste des paramètres est différente (Le premier est un paramètre continu, le second est un tableau de paramètres )

2, définition de la méthode :

      function.apply(thisObj[, argArray])
        function.call(thisObj[, arg1[, arg2[, [,...argN]]]]);

Spécialement, lorsqu'aucun paramètre n'est passé, function.call() Équivalent à l'exécution de cette fonction

3, instance :

En raison de apply() Elle a le même effet que la méthode call(), donc ici nous prenons call() à titre d'exemple, apply()De même :


 //定义一个Car的构造函数
      function Car(name,height){
            this.name=name;
             this.height=height;
         }

     function Maserati(name,age,height,width){
           this.name=name;
           this.age=age;
           this.height=height;
           this.width=width;
      }
  可以发现这里函数2包含了函数1的所有属性,即是继承的意思
       因此函数2这里可以用call()方法改写成
      function Maserati(name,age,height,width){
           Car.call(this,name,age);//此处this就是指向Maserati,此时Maserati就拥有Car的所有属性和方法了。
          this.height=height;
         this.width=width;
       }
   var a=new Maserati("maserati",23,188,98);

On obtient les résultats suivants :


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!

Déclaration:
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