【发布时间】:2013-07-18 23:12:23
【问题描述】:
我不确定使用哪种命名空间约定更好。
var App = {}; // global variable, the root of our namespace
(function() {
App.something = function() {
}
})();
或
(function() {
window.App = {}; //global variable, the root of our namespace
App.something = function() {
}
})();
window.App 和 var App 都是全局变量,因此两种约定都可以达到相同的结果,但哪个更好?
【问题讨论】:
-
没有更好,它们(几乎)是等价的。
-
好吧,当使用
var App = {};时,您不能稍后使用delete window.App来删除该属性。但是当您将其声明为window.App = {};时,您可以。但这确实是使用一个而不是另一个的微不足道的原因 -
这可能会被关闭,因为它是基于意见的。
-
如果您不在浏览器中运行怎么办?
-
node.js 给我第二个块的错误。我们谈论javascript。但是 node.js 是 javascript :-)
标签: javascript namespaces