从父类访问子类的原型

我试图实现一个基类方法,它具有相同的所有子类的逻辑,但会使用它们的一些特定的variables。

function A() {} A.prototype.foo = 'bar'; A.prototype.getFoo = function () { console.log('Called class: ' + this.constructor.name); return this.foo; }; function B() {} B.prototype.foo = 'qaz'; require('util').inherits(B, A); console.log(B.prototype.getFoo()); 

最后一行打印bar ,但getFoo()也打印Called class: B 。 所以我想知道,因为我可以访问孩子的构造函数,有没有办法通过它来访问孩子的原型?

require('util').inherits B.prototype重置为一个inheritanceA的新对象。
您在原型上设置的任何属性都会丢失。

如果调用inherits() 之后设置B.prototype.foo ,它将正常工作。