JS的继承
前一阵时间一个去面试的朋友问我js的继承一共有多少种?分别怎么实现的?我脑子一蒙,想了想说三四种吧,原型链、构造函数。。还有混合的怎么实现来着?于是乎我意识到了,我需要稳固一下基础知识了,哈哈。
1、原型链继承
这种继承应该很容易理解,通过原型链的赋值,从而实现继承
|
|
2、构造函数继承
构造函数继承其实就是在父类的构造函数中复制一份,给子类用(call、apply)1234567function animal(name) { this.name = name || "未知"}function cat(name){ animal.call(this) this.name = name || "未知" }
3、实例继承
这种方式的继承不多说了。。。123456789function animal(name) { this.name = name || "未知"}function Cat(name){ var instance = new Animal(); instance.name = name || 'Tom'; return instance;}
4、混合继承
这种方法的继承使我们所推荐的,其实就是构造函数继承加上原型链继承
|
|