【问题标题】:Javascript namespacing and private modulesJavascript 命名空间和私有模块
【发布时间】:2011-12-07 10:40:57
【问题描述】:

这是一个 JS 新手问题,我正在使用父命名空间 Base,我将所有代码都包含在这个命名空间中。

文件模型.js

基数 = {} Base.Observer = { method1 : function(){//...}, 方法2:函数(){//...} }; Base.Bot = 函数(名称){ this.name = 名称; this.somefunc = function(){}; }

文件presenter.js

Base.Presenter = { }

文件 helper.js

Base.Helper = { };

现在我的问题是我想将此模块保密。不允许任何用户通过任何浏览器工具(如 firebug)进行访问。所以我只能考虑将它们包装在一个自我执行的匿名函数中,并将 Base 变成一个局部变量,这将导致 presenter.jshelper.js 无法访问 Base 命名空间。

我想将文件分开,因为它有助于保持代码的组织性,但我似乎无法弄清楚执行此操作的正确方法是什么。非常感谢您对此的任何帮助。

谢谢

【问题讨论】:

    标签: javascript namespaces private


    【解决方案1】:

    所以我只能考虑将它们包装在一个自执行的匿名函数中,并将 Base 变成一个局部变量

    这是通常的做法

    这将导致 presenter.js 和 helper.js 无法访问 Base 命名空间。

    函数应该return Base; 然后分配给全局。

    the module pattern

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2014-02-12
      • 2015-09-09
      • 2014-01-26
      • 2013-05-07
      • 2014-06-16
      • 2011-01-22
      相关资源
      最近更新 更多