跨类和文件的 Javascript 原型(prototype)

标签 javascript node.js

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

例如

我的原型(prototype)

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

所有文件都使用原型(prototype)

最佳答案

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

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

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

需要扩展 Array.prototype 的所有其他模块

require("./extendModule").extendModule(Array)

关于跨类和文件的 Javascript 原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34742769/

相关文章:

javascript - 使用javascript替换特定位置的所有空格

php - 在 php SESSION 中使用空 - 0 例

javascript - HTML Canvas - 描边路径上的发光轮廓?

javascript - 如何在 Nodejs 中将整数数组作为字节流写入客户端?

node.js - cookie 和 cookieSession 的区别?

javascript - 使父 div 的宽度等于最宽的子元素/div

javascript - 如何将一个 react 组件传递给另一个 react 组件以包含第一个组件的内容?

node.js - 克尼克斯 :Error Pool2 - Error: Error allocating resources: connect ECONNREFUSED

node.js - 使用环回在url中获取参数的远程方法

algorithm - nodejs中开放图的抓取算法