继承其他函数的属性

时间:2016-01-26 19:18:35

标签: javascript node.js

假设我有一个名为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 foobar.prototype = new foo(1, 2, 3);进行1?我应该使用绑定功能吗?如果是这样,怎么样?

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;