同样来看代码吧.
第一部分: 使用this.base实现继承.支持派生类调用基类带参构造函数
运行结果:小a 18 男
噢,不错.成功喽. this.base = Person 很清晰的指明了基类, this.base(name,age)调用基类构造函数
第二部分: 使用prototype实现继承,不过很遗憾它不支持派生类调用基类带参构造函数
运行结果: undefined undefined 1.7 男
m1._height输出1.7说明Man成功继承了Person.
可是m1._name和m1._age输出undefined说明,new Man("小a",18)没有把参数传到Person中,以失败告终.
不过针对基类是无参构造函数使用prototype还是还有效
第三部分: 使用call 实现继承,不过可称之为伪继承
运行结果:小a 18 男
call()它的第一个参数是this指向的对象,所有的其他参数都直接传到function
第四部分: 使用apply实现继承,不过可称之为伪继承
运行结果:小a 18 男
apply()方法需要两个参数:this所指向的对象,和传到function的由参数组成的array