javascript - 具有由每个项目 JS 重写的函数的全局对象?

标签 javascript jquery global

我想知道应该如何设计我的 javascript 文件。

我将有一个用于所有项目的 global.js 文件。然后,每个项目都会有自己的 project.js 文件,其中包含仅适用于该项目的特定功能/覆盖/设置。

所以我想在 global.js 文件中编写所有“全局”函数:

Global = function() {
    var config = {'alpha': 1};

    function getConfig() {
        return this.config;
    }

    function printConfig() {
        console.log(this.getConfig());
    }
};

Global.prototype.echoConfig = function() {
    console.log(this.getConfig());
};

我猜我的 project.js 文件看起来像:

var project = new Global();

Global.prototype.projFunc = function() { return 2; };

但是,我还没弄清楚如何从 global.js 获取配置?

我正在使用 jQuery,并且注意到 $.extend 函数看起来不错,但是我想首先为我的 global.js 和 project.js 设置结构 - 一般来说我可能会希望将大多数函数从 project.js 移至 global.js,但可能有一两个项目只需要该应用程序的 1 个特定函数。

最佳答案

您需要在公共(public)范围内拥有getConfig,并且由于您以“私有(private)”方式声明了config,因此您不能使用this.config 要获取 config,只需使用 config

Global = function() {
    var config = {'alpha': 1};

    this.getConfig = function() {
        return config;
    }

    function printConfig() {
        console.log(this.getConfig());
    }
};

Scope Tutorial

关于javascript - 具有由每个项目 JS 重写的函数的全局对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199554/

相关文章:

javascript - 将关系查询数据添加到主 JSON 结果

javascript - 如何使这个 javascript 文本效果起作用?

jquery - jQuery 中获取 Json 数据(对象中的对象)

c++ - 匿名命名空间是否包含所有命名空间?

c - 如何在中断中处理全局变量

javascript - 如何为每个用户处理多个 Node.js 服务器之间的通信?

javascript - 如何使用 Javascript 更改鼠标悬停时 div 内元素的颜色?

javascript - jQuery : Display hidden image on page scroll

带有scrollTo插件的jQuery DataTables自动看到div

c - 调用方法时如何在 C 中使用类似名称的类