共享封闭内部模块实例的最佳方法

时间:2016-02-24 19:48:47

标签: javascript closures iife

我们有一个网站,它使用所有js文件的闭包。现在我们有一个在任何地方使用的,每次网站加载时,如下所示:

我们将此文件称为Main.js

(function() {
    var globalInstance;
    var other variable declarations.

    Some code that needs to be executed everywhere

    // Now the important thing
    globalInstance = new targetModule({params: params});

    More code that needs to be executed everywhere
})();

到目前为止这么好,对吗?现在每个页面都有一个使用相同模式的js。让我们说home.js

(function() {
    var home variable declarations.

    some home code;

})();

现在,这是为了保持全局命名空间尽可能干净,但我们现在需要从home.js可见的globalInstance变量实例,但它不可见。

解决方案可以是,宣布一个globalInstances ... 全球 ......就像这样......

var globalInstance;

(function() {
    var other variable declarations.

    Some code that needs to be executed everywhere

    // Now the important thing
    globalInstance = new targetModule({params: params});

    More code that needs to be executed everywhere
})();

但是你知道,感觉不对。你能建议一个替代方案。

由于

0 个答案:

没有答案