从父类访问子类原型

时间:2013-08-08 15:36:38

标签: javascript node.js

我正在尝试实现一个基类方法,它对所有子类具有相同的逻辑,但会使用一些特定于它们的变量。

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。所以我想知道,因为我可以访问孩子的构造函数,有没有办法通过它访问孩子的原型?

1 个答案:

答案 0 :(得分:5)

require('util').inheritsB.prototype重置为继承A的新对象 您在旧原型上设置的任何属性都将丢失。

如果您在调用B.prototype.foo后设置inherits() ,则可以正常使用。