5.JavaScript 상속
무엇 상속은
상속을 통해 개체 B 객체, 당신은 모든 속성과 객체 B의 방법이 직접 할 수 있습니다
길, 프로토 타입 상속 체인
코어 : 서브 타입 프로토 타입 객체는 상위 유형의 인스턴스
// 创建一个父类(注意其本质仍然是一个构造函数)
function Parent() {
this.name='kevin';
}
// 创建父类上的一个共享方法
Parent.prototype.getName = function(){
console.log(this.name);
}
// 创建子类
function Child() {
}
// 核心代码:将父类的实例作为子类的原型
Child.prototype = new Parent();
var child1 = new Child();
console.log( child1.getName() ); // kevin
두 번째 방법, 상속 최적화의 조합
코어 : 개체를 만들 수있는 기존 개체와 함께 var B = Object.create(A);
프로토 타입과 객체 A를하려면 B 객체를 만들었습니다. B는 모든 속성과 메소드 피사체를 상속합니다.
// 创建父类
function Person(name,age) {
this.name = name;
this.age = age;
}
// 创建父类共享的方法
Person.prototype.setAge = function(){
console.log(111);
}
// 创建子类
function Student(name, age, price) {
Person.call(this, name, age);
this.price = price;
this.setScore = function() {
}
}
Student.prototype = Object.create(Person.prototype); // 核心代码
Student.prototype.constructor = Student; // 核心代码
var s1 = new Student('tom', 20, 15000);
console.log(s1 instanceof Student); // true
console.log(s1 instanceof Person); // true
console.log(s1.constructor); // Student
console.log(s1); // Student {name: "tom", age: 20, price: 15000, setScore: ƒ}
요약 :
상속 8 종류 - 좋은 자원을 많이 찾을 시간의 주제에 대한 지식을 요약, 우리는 기본적으로 약 6을 말하고있다. 인터뷰에 참석하기 위해 서둘러 경우 시작하려면 다음 두 가지 기본적인 방법을 시작할 수 있다는 희망을 나열 할 이유가 없습니다, 예비 이해를 가지고 있고, 그것을 알고하지 않은 시간을 요청하지 않습니다.
첫째, 가장 기본적인 방법 중 하나, 상식의 이해에 가장 가까운, 빠르게 상태를 입력하는 데 도움이 될 수 있습니다. 두 번째 방법은 상대적으로 완벽한 방법은 상속을 사용하는 "최종"버전이 될 수 후에 달성하기 위해 여러 가지 방법의 상속을 비교하는 것이다. 관심있는 독자는 마지막에 링크 텍스트를 보면 상속의 더 설명을 얻을 수 있습니다.
참고 링크 :
https://github.com/mqyqingfeng/Blog
https://segmentfault.com/a/1190000016708006
https://segmentfault.com/a/1190000015727237
https://juejin.im/post/5bcb2e295188255c55472db0#heading- 0
https://www.cnblogs.com/humin/p/4556820.html
https://github.com/mqyqingfeng/Blog/issues/16
http://www.ayqy.net/blog/%E9%87% 8D %의 E6의 % 96 % B0의 %의 E7의 % 90 % 86 % E8 % A7 % A3js % E7 % 9A %의 846% E7의 %의 A7의 %의 8D의 %의 E7의 %의 BB %의 A7 %의 E6의 % 89 % BF의 %의 E6의 % 96 % B9 %의 BC 주 %의 8F % E5 /
https://zhuanlan.zhihu.com/p/37735247