js的继承
1 | function Parent() { |
原型链继承
1 | Child.prototype = new Parent(); |
优点:方法复用,
缺点:属性共用
构造函数继承
1 | function Child() { |
优点:实例属性相互独立,
缺点:父类方法不能复用,继承不了父类原型上的属性
组合继承
1 | function Child(name, link) { |
寄生组合继承
1 | function Child(name,like) { |
Object.create()
本质
1 | function object(o) { |
- 创建一个空对象{}
- 指定该对象原型为 o
- 返回该对象
new
本质
1 | function mynew(Func, ...args) { |
组合继承优化1
1 | function Child(name, link) { |