JavaScript 기생 조합 식 계승 분석

4433 단어
JavaScript 기생 조합 식 계승 특징:
하위 프로 토 타 입 에 불필요 한 속성 을 만 드 는 것 을 피 할 수 있 으 며, 기본 클래스 를 직접 계승 하 는 인 스 턴 스 보다 효율 이 높 습 니 다.
자 바스 크 립 트 가 계승 을 실현 하 는 가장 효과 적 인 방법 입 니 다.
<script>
            //           
            function BaseClass(name,age){
                this.name=name;
                this.age=age;
            }
            
            //        sayName  
            BaseClass.prototype.sayName=function(){
                console.log(this.name);
            }
            
            //           
            function SubClass(name,age,job){
                //           ,       ,              。
                BaseClass.apply(this,arguments);
                
                //       
                this.job=job;
            }
            
            //
            inheritPrototype(SubClass,BaseClass);
            
            //       
            SubClass.prototype.sayJob=function(){
                console.log(this.job);
            }
            
            //       
            function inheritPrototype(subClass,baseClass){
                //           
                function fun(){};
                fun.prototype=baseClass.prototype;//             
                
                //
                var obj=new fun();
                obj.constructor=SubClass
                SubClass.prototype=obj;
                
                /**
                 * backbone extend     
                 * 
                 * var Surrogate=function(){this.constructor=child;}
                 * Surrogate.prototype=parent.prototype;
                 * child.prototype=new Surrogate;
                 * 
                 */
            }
         
          var subClass=    new SubClass('  ',18,'Coder');
         
          console.log(subClass);
          subClass.sayName();
          subClass.sayJob();
        </script>

좋은 웹페이지 즐겨찾기