我一直在阅读一些关于javascript继承的文章,以及如何模仿经典语言在子类化方面的行为。
但是,对于我来说,在子类中初始化prototype属性的方式似乎并不合适。
/* Super class */
function Mammal(){}
Mammal.prototype.breathe = function(){}
/* Sub class */
function Cat(){}
/* Is this really necessary? */
Cat.prototype = new Mammal()
我想知道将它设置为这样是不够的:
/* Would not this accomplish the expected result? */
Cat.prototype = Mammal.prototype;
通过使用第一个赋值,我们还带来了来自超类的任何外部属性,这不是原型属性的目的,我想。