跨类和文件的Javascript原型

时间:2016-01-12 11:42:47

标签: javascript node.js

我正在创建一个nodejs应用程序,我在单独的文件中定义了类。我已经为Array编写了一个原型,我需要在所有类中访问它如何实现它,我尝试在项目的主文件中定义原型但我仍然无法在所有类中使用原型。

例如

我的原型

Array.prototype.remove = function(e) {
    for (var i = 0; i < this.length; i++) {
        if (e == this[i]) { return this.splice(i, 1); }
    }
};

我的项目结构

--main.js
--a.js
--b.js

我有我的main.js,我需要所有其他js

所有文件都使用原型

1 个答案:

答案 0 :(得分:2)

如果其他文件是不同的模块,则它在自己的JS上下文中运行,最好的方法是创建一个模块,将example函数添加到Array.prototype然后从每个模块,使用require调用此函数。

创建一个名为extendModule.js的模块文件,并在其中添加

exports.extendModule = function(constructor) {
    constructor.prototype.example = function () {};
}

需要扩展Array.prototype

的每个其他模块
require("./extendModule").extendModule(Array)