实现继承的几种方式
1. ES6中的extends
class Parent{
constructor(){
this.age = 18;
}
}
class Child extends Parent{
constructor(){
super();
this.name = '张三';
}
}
let o1 = new Child();
console.log( o1,o1.name,o1.age );
2. 组合式继承
function Parent(){
this.age = 100;
}
function Child(){
Parent.call(this);
this.name = '张三'
}
Child.prototype = new Parent();
let o4 = new Child();
console.log( o4,o4.name,o4.age );
原型
1. 原型是什么
每个javascript对象都有一个内部指针,指向另一个对象,这个指向的对象就是原型对象
2. 那些拥有原型
函数拥有:
prototype
对象拥有:__proto__
3. 原型链是什么
原型链是一种 javascript中实现继承的机制,实现方法属性共享
// 子父之间的原型关系
子类构造函数的原型 指向父类的实例对象
父类的实例对象的原型 指向当前对象的构造函数的原型对象
// constructor
作用就是指向该对象的构造函数,每个对象都有构造函数。