从父类访问子类的原型
我试图实现一个基类方法,它具有相同的所有子类的逻辑,但会使用它们的一些特定的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
,它将正常工作。