Javascript 带有require的Node.js原型继承

Javascript 带有require的Node.js原型继承,javascript,inheritance,node.js,prototype-programming,Javascript,Inheritance,Node.js,Prototype Programming,当我使用require函数时,node.js中两个函数的继承有问题 我的情况如下: function administrators () { this.user = 'bob'; } administrators.prototype.print_user = function () { console.log(this.user); } /*******/ function helper() {} helper.prototype = new administrators

当我使用require函数时,node.js中两个函数的继承有问题

我的情况如下:

function administrators () {
    this.user = 'bob';
}
administrators.prototype.print_user = function () {
    console.log(this.user);
}

/*******/


function helper() {}

helper.prototype = new administrators();

helper.prototype.change_administrator = function() {
    this.user = 'john';

}

var h = new helper();

h.print_user();
h.change_administrator();
h.print_user();
如您所见,我有两个功能:

  • 管理
    只有用户变量和
    打印用户
    功能
  • helpers
    继承了
    administrators
    中的所有内容,然后我们添加
    change\u administrator
    来更改
    这一点。使用
    administrators()中声明的
问题是:

我希望将这些函数(
administrators
helper
)放在单独的文件中,例如:
administrators.js
helper.js

然后我想将这两个文件包含在
index.js
中,并使用
require
administrators
变量和函数继承给helper,就像我在上面的示例中所做的那样


另外,我一直在寻找类似的问题,但这种继承没有任何问题。

您必须在完成所需操作的类中手动扩展它们

在此处进行扩展,意思是“将方法和属性从一个对象复制到另一个对象”


或者让助手直接要求管理员

您需要从helpers.js文件中要求管理员

administrators.js

function administrators () {
    this.user = 'bob';
}
administrators.prototype.print_user = function () {
    console.log(this.user);
}

module.exports = administrators;
helpers.js

var administrators = require('./administrators');

function helper() {}

helper.prototype = new administrators();

helper.prototype.change_administrator = function() {
    this.user = 'john';
};

module.exports = helper;
index.js

var helper = require('./helpers');

var h = new helper();

h.print_user();
h.change_administrator();
h.print_user();