这是一个JS新手问题,我正在使用父命名空间 Base ,我在这个命名空间中包含了我的所有代码。
file model.js
Base = {} Base.Observer = { method1 : function(){//...}, method2 : function(){//...} }; Base.Bot = function(name){ this.name = name; this.somefunc = function(){}; }
file presenter.js
Base.Presenter = { }
文件helper.js
Base.Helper = { };
现在我的问题是我希望将此模块保密。不允许任何用户通过任何浏览器工具访问,如firebug。所以我只能考虑将它们包装在一个自动执行的匿名函数中,并将 Base 变成一个局部变量,这将导致 presenter.js 和 helper.js 无法访问 Base 命名空间。
我想保持文件分开,因为它有助于保持代码组织,但我似乎无法确定执行此操作的正确方法。非常感谢任何帮助。
谢谢
答案 0 :(得分:1)
所以我只能想到将它们包装在一个自执行匿名函数中并将Base变成一个局部变量
这是通常的做法
会导致presenter.js和helper.js无法访问Base命名空间。
该函数应该return Base;
,然后您将其分配给全局。