javascript 계승의 원형
1297 단어 javascript 원형 계승
prototype 모드
먼저 코드를 실행합니다.
function Animal(){
this.species = " ";
}
function Cat(name,color){
this.name = name;
this.color = color;
}
Cat.prototype = new Animal();
alert("the first cat's prototype is : "+Cat.prototype.constructor);
//the first cat's prototype is : function Animal(){
// this.species = " ";
// }
Cat.prototype.constructor = Cat;
alert("the second cat's prototype is : "+Cat.prototype.constructor);
//the second cat's prototype is : function Cat(name,color){
// this.name = name;
// this.color = color;
// }
Cat.prototype = new Animal();우리는 Cat의 프로토타입 대상을 애니멀의 실례를 가리킨다.
Cat.prototype.constructor = Cat;프로토타입 대상의 원래 값을 완전히 삭제하고 새 값을 부여하는 것과 같습니다.
그런데 이게 무슨 뜻이죠?
원래, 모든 프로토타입 대상은constructor 속성을 가지고 있으며, 그 구조 함수를 가리킨다.
"Cat.prototype = new Animal ()"이 없으면이 줄은 Cat.prototype.constructor는 Cat을 가리킨다.이 줄을 추가한 후, Cat.prototype.constructor는 애니멀을 가리킨다.
더 중요한 것은 모든 실례에도constructor 속성이 있습니다. 기본적으로prototype 대상의constructor 속성을 호출합니다.