Javascript寄生组合继承

Javascript目前通用的Javascript的继承是将原形链和借用构造函数组合在一起的组合继承,但是组合继承有一个缺点就是需要父类构造函数需要执行2次。示例代码如下:


并且Employee.prototype中存在了共享的属性name和birthday,只不过在第二次执行构造函数时被子类所覆盖。而寄生组合继承则解决了这方面的问题。示例代码如下:


通过将父类的原型赋值给一个新构造函数的原型,再将新构造函数的实例赋值给子类的原型,这样只需执行一次超类的构造函数即可以了。

你可能感兴趣的:(JavaScript)