多个javascript命名空间?

时间:2012-02-25 13:58:12

标签: javascript namespaces

我想知道仅使用一个命名空间是否存在任何相关的性能问题,或者分配多个是否更好?

我的意思是

(function (myApp, $, undefined) {

} (window.myApp = window.myApp || {}, jQuery));

并将每个函数/对象/属性分配给myApp命名空间,或者从性能角度来看,将myApp用于常用函数等是否更有效

(function (myAppSettings, $, undefined) {

} (window.myAppSettings = window.myAppSettings || {}, jQuery));

等等?

修改:根据@pimvdb澄清通用settingsmyAppSettings非常正确的评论

2 个答案:

答案 0 :(得分:1)

一般来说,浅树比深树更好(引用from here)。因此,根据具体情况,可能更好地使用多个命名空间。引用的文章声称单个命名空间在性能方面可以忽略不计。

答案 1 :(得分:0)

我认为从性能的角度来看,没有任何区别。在今天的实现中获取对象属性is O(1)

但像settings之类的名字是如此通用,你最好不要让它与另一个图书馆的settings发生冲突。由于这些设置是myApp的一部分,因此将它放在myApp对象中是最有意义的(也是最安全的)。

如果每个图书馆都设置window.settings,那将是一个大问题。