我不确定使用哪个更好的命名空间约定。
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都是全局变量,所以这两个约定都能达到相同的结果,但哪个更好?
答案 0 :(得分:3)
唯一的区别是,在第一个版本中,App
无法从window
中删除,尽管它可以作为全局对象的属性进行访问。在第二种情况下,delete window.App
有效。另请注意,您应该将命名空间附加到window
,而不是Window
,因为JavaScript区分大小写,而Window是构造函数。
除此之外,两者基本相同,没有“更好”。