JS 대상 구성 요소 - 계승 하 는 다른 방식 (클래스 계승, 원형 계승)

4496 단어
계승의 다른 형식:
• 클래스 계승: 구조 함수 (클래스) 를 이용 하여 계승 하 는 방식
• 원형 계승: 원형 을 빌려 대상 계승 대상 실현
 
클래스: JS 는 클래스 개념 이 없 으 며 JS 의 구조 함 수 를 클래스 로 간주 합 니 다.
속성 과 방법 을 계승 하려 면 따로 계승 해 야 한다.
function Aaa(){   //  
    this.name = "  ";
}
Aaa.prototype.showName = function(){
    alert( this.name );
};

function Bbb(){   //  

}
Bbb.prototype = new Aaa();   //    
var b = new Bbb();
b.showName();
console.log(b);

그 중의
Bbb.prototype = new Aaa();        。
 
, ? 。
Bbb.prototype = new Aaa(); , 。



alert(b.constructor);  //    Aaa     。
     
Bbb.prototype = new Aaa();       Bbb.prototype = new Aaa();  Bbb.prototype.constructor = Bbb;  //      
    b.constructor     。


this.name = " "; this.name = [1,2,3];
var b = new Bbb();b.showName(); var b = new Bbb();b1.name.push(4);var b2 = new Bbb();alert(b.name); 1,2,3,4。 。
( Aaa name)。 。 :
function Aaa(){   //  
    this.name = [1,2,3];
}    
Aaa.prototype.showName = function(){
    alert( this.name );
};

function Bbb(){   //  
    
    Aaa.call(this);
    
}

var F = function(){}; F.prototype = Aaa.prototype; Bbb.prototype = new F(); Bbb.prototype.constructor = Bbb; //       
var b1 = new Bbb();
//b1.showName();
//alert( b1.name );
//alert( b1.constructor );
b1.name.push(4);

var b2 = new Bbb();

alert( b2.name );

F 의 역할 은 속성 계승 을 피하 고 방법의 계승 일 뿐 입 니 다.




좋은 웹페이지 즐겨찾기