구조 함수 - 상속 상세 정보
function Parent(name){
this.name = name;
this.money = 10000000;
this.hobby = function(){
console.log("Parent this.hobby");
}
}
Parent.prototype.active = function(){
console.log("Parent.prototype");
}
Parent.prototype.eat = function(){
console.log("Parent.prototype.eat");
}
이어서 서브집합의 구조 방법
function Son(name){
}
자집은 부급의 내용을 계승하려면 그 안에 넣어야 한다
function Son(name){
Parent.call(this,name);
}
이렇게 하면 부급 안의 내용을 계승할 수 있다
var newSon = new Son("rrrr");
console.log(newSon.name); // rrrr
console.log(newSon.money); // 10000000
newSon.hobby(); // Parent this.hobby
이렇게 쓰는 것은 아무런 문제가 없을 것 같지만, 우리가 자집에 부급과 같은 속성이나 방법을 쓰면?
function Son(name){
Parent.call(this,name); // rrrr
this.money = 10;
this.hobby = function(){
console.log("Son this.hobby");
}
}
var newSon = new Son("rrrr");
console.log(newSon.name); // rrrr
console.log(newSon.money); // 10
newSon.hobby(); // Son this.hobby
상술한 코드는 서브집합이 부급을 계승하고 자신이 이 방법을 다시 쓸 때 자신을 기준으로 상술한 계승 구조 계승으로 돌아간다는 것을 나타낸다
function Parent(name){
//
this.name = name;
this.money = 10000000
//
this.hobby = function(){
console.log("Parent this.hobby");
}
}
//
Parent.prototype.active = function(){
console.log("Parent.prototype");
}
Parent.prototype.eat = function(){
console.log("Parent.prototype.eat");
}
function Son(name){
Parent.call(this,name);
}
var newSon = new Son("rrrr");
console.log(newSon.name); // rrrr
console.log(newSon.money); // 100000
console.log(newSon instanceof Parent); // false
console.log(newSon instanceof Son); // true
newSon.hobby() // Parent this.hobby
newSon.active(); //
newSon.eat(); //
상기에서 알 수 있듯이 서브집합은 부급을 계승하고 부급 자체의 속성과 방법만 계승하며 부급 원형상의 방법을 계승하지 않는다. 왜냐하면 구조 계승의 핵심은 부류의 구조 함수를 사용하여 부류의 실례를 강화하는 것이다. 이는 부류의 실례 속성을 부류(원형에 사용하지 않음)의 특징을 복제하는 것과 같다.
이것은 실례 계승을 이용할 수 있다
function Son(name){
var ins = new Parent(name);
return ins;
}
var newSon = new Son("ggg");
console.log(newSon.name); // ggg
console.log(newSon.money); // 10000000
console.log(newSon instanceof Parent); // true
console.log(newSon instanceof Son); // false
newSon.hobby() // Parent this.hobby
newSon.active(); // Parent.prototype
newSon.eat(); // Parent.prototype.eat
실례 계승의 핵심.상위 인스턴스에 새 특성을 추가하여 하위 인스턴스로 피쳐를 반환합니다.
재조합 계승
function Son(name){
Parent.call(this,name);
}
Son.prototype.eat = function(){
console.log("Son.prototype.eat");
}
Son.prototype = new Parent();
var newSon = new Son("ggg");
console.log(newSon.name); // ggg
console.log(newSon.money); // 10000000
console.log(newSon instanceof Parent); // true
console.log(newSon instanceof Son); // true
newSon.hobby() // Parent this.hobby
newSon.active(); // Parent.prototype
newSon.eat(); // Parent.prototype.eat
조합 계승의 핵심은 부류 구조를 통해 부류의 속성을 계승하고 전참의 장점을 보존한 다음에 강폭과 실례 부류 원형을 통해 함수 복용 특징을 실현하는 것이다.
마지막으로 기생 조합 계승을 통해 빈 구조 함수를 만듭니다.
function Son(name){
Parent.call(this,name);
}
Son.prototype.eat = function(){
console.log("Son.prototype.eat");
}
//
function Link(){}
// Person4 Link
Link.prototype = Parent.prototype;
// Student 。 ,
//Student Link Person4
Son.prototype = new Link();
var newSon = new Son("tt")
console.log(newSon.name); // tt
console.log(newSon.money); // 10000000
console.log(newSon instanceof Parent); // true
console.log(newSon instanceof Son); // true
newSon.hobby() // Parent this.hobby
newSon.active(); // Parent.prototype
newSon.eat(); // Parent.prototype.eat
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.