mon*_*oon 7 javascript namespaces
我不确定哪个是更好的命名空间约定.
var App = {}; // global variable, the root of our namespace
(function() {
App.something = function() {
}
})();
Run Code Online (Sandbox Code Playgroud)
要么
(function() {
window.App = {}; //global variable, the root of our namespace
App.something = function() {
}
})();
Run Code Online (Sandbox Code Playgroud)
window.App和var App都是全局变量,所以这两个约定都能达到相同的结果,但哪个更好?
唯一的区别是,在第一个变体中,App无法从 中删除window,尽管它可以作为全局对象的属性进行访问。在第二种情况下,delete window.App有效。另请注意,您应该将命名空间附加到window,而不是Window,因为 JavaScript 区分大小写,而 Window 是构造函数。
除此之外,两者基本相同,没有“更好”之分。