假设我有一个名为foo
的函数,我希望函数bar
能够继承foo
中的内容,例如:
function foo(param1, param2, param3) {
this.params = [param1, param2, param3];
this.otherParameter = 3.141;
}
module.exports = foo;
foo.prototype.getParams = function(i, bool) {
if(bool) {
return this.params[i];
}else{
return this.otherParameter;
}
};
var foo = require('./foo');
function bar() {
this.barParams = [1, 2, 3, 4];
}
如何根据bar
foo
来bar.prototype = new foo(1, 2, 3);
进行1
?我应该使用绑定功能吗?如果是这样,怎么样?
答案 0 :(得分:0)
这必须是一个重复的问题,但是:通常的方式(在ES2015之前)是这样的:
function bar(/*...args for bar...*/) {
foo.call(this, /* appropriate arguments for foo */);
}
bar.prototype = Object.create(foo.prototype);
bar.prototype.constructor = bar;