前面讲过使用apply与call实现继承,使用prototype原型的方式也可以实现javascript的继承。
apply的继承实际上是this对象劫持的方式实现的,直接把当前对象替换成父类对象中的this。而prototype是通过原型链的方式继承,通过把父类的方法属性克隆给子类。
下面是实例代码:
Person类:
1 | function Person(name,age){ |
通过实例化对象之后可以调用:
1 | var people = new Person("jenkiHuang",24); |
MyInfo类:
1 | function MyInfo() {} |
代码成功运行,使用原型的方式也可以达到继承的目的。
另外一种原型扩展的方法,直接使用对象集合的形式,但是这以这种形式扩展的方法需要修正constructor。
1 | Person.prototype = { |
类继承函数
1 | /** |