【发布时间】:2013-06-03 21:12:01
【问题描述】:
我正在建立一个用于教育目的的图书馆;我的库中有很多模块。
我的一个模块在我的整个应用程序中都非常需要。将这个对象存储在一个可以从其他需要它的对象内部引用的单例全局对象中更好,还是将它作为属性提供给每个需要它的对象?
我知道这可能有很多固执己见的答案,但这仍然是一个我正处于十字路口的问题。
【问题讨论】:
-
拥有全局对象实例与拥有单例不同。
-
你能提供一个想象的案例和用法的示例代码吗?
-
如果它是一个您会经常访问的对象,只需将其放入全局命名空间(当然要使用唯一的名称)。当你引用它时,只要确保使用 window.obj 而不是 obj 来加快查找速度。
-
理想情况下,尝试拥有一个全局对象,然后将所有模块挂在上面。即
var App = { Modules: {} };然后App.Modules.Foo = _whatever_;
标签: javascript design-patterns