6中原型链继承方式
1 原型链继承
原型链继承是让子类的原型prototype属性指向父类的新实例,实现的本质是重写原型对象,子类拥有父类的方法,所有实例共享原型上的变量和方法,如果有重写,则会反映到所有实例上
2 构造函数
在子类函数中调用父类函数(SuperType.call(this)),1 每个子类拥有父类中属性方法的副本,解决了上面的问题,2 方法在子类中定义,无法很好地实现复用 3, 可以传递参数
3 原型链+构造函数
首先在子类中调用父类的方法,再让子类的原型指向父类的一个新实例,并让子类原型上的构造函数指向父类
4 原型式继承
在函数中,首先传入要继承的对象,然后创建一个构造函数,让构造函数的prototype属性指向传入对象,,然后新建一个构造函数并返回。然后使用这个这个函数来创建新对象实例,这些实例的__proto__指向person对象
5 寄生式继承~~~~
寄生式继承就是把原型式继承再次封装,然后在对象上扩展新的方法,再把新对象返回,采用Object.create(原型对象),再在新实例上添加方法,最会返回创建的新对象
6 寄生组合式继承
在子类方法中调用父类,并添加自己的私有属性,第二步继承,创建一个新实例,并让新实例的原型指向父类的原型,让子类的原型指向这个实例,3 修复Constructor,子类原型上的Constructor指回子类自身(subType) 4
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。