call(), apply() 사용법

一个新手
풀어 주다: 2017-10-12 10:02:08
원래의
1230명이 탐색했습니다.

1, call()apply()의 기능은 this의 지점을 변경하는 것입니다. 차이점은 매개변수 목록이 다르다는 것입니다(The 전자는 연속 매개변수이고 후자는 매개변수 Array)

2, 메서드 정의:

      function.apply(thisObj[, argArray])
        function.call(thisObj[, arg1[, arg2[, [,...argN]]]]);
로그인 후 복사

특히, 매개변수가 전달되지 않은 경우 function.call() 은 이것을 실행하는 것과 동일합니다. function

3, 예:

apply()call() 메서드는 동일한 효과를 가지므로 여기서는 call()을 예로 들어 보겠습니다. apply()에도 동일하게 적용됩니다.


 //定义一个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);
로그인 후 복사

는 다음과 같은 결과를 얻었습니다.


위 내용은 call(), apply() 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿