我有两个构造函数,子级一个从父级继承一些方法和属性,就像这样
function foo(){
this.bar="baz";
}
function fubar(){
this.qux="zubar";
}
fubar.prototype=new foo();
fubar.prototype.constructor=fubar;
module.exports.fubar=fubar;
内部文件继承工作正常,但导出时无法到达父元素
我也尝试过
util.inherits
结果是一样的 最佳答案
您只需要从foo
构造函数调用fubar
构造函数,以使.bar
属性将在foo
构造函数中正确初始化:
function foo(){
this.bar = "baz";
}
function fubar(){
foo.call(this);
this.qux = "zubar";
}
fubar.prototype = Object.create(foo.prototype);
fubar.prototype.constructor = fubar;
module.exports.fubar = fubar;
最好使用
Object.create()
作为原型,尽管您原本可以使用。