Javascript 带有require的Node.js原型继承
当我使用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
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();