查看一些 JavaScript 库和其他人的代码我看到了两种常见模式,我不知道使用其中一种是否有区别或优势。模式看起来有点像这样:
1.
var app = (function () {
// Private vars
// Module
var obj = {
prop: "",
method: function () {}
};
return obj;
})();
2.
(function () {
// Private vars
// Module
var obj = {
prop: "",
method: function () {}
};
window.app = obj;
})();
这些模式是否相同,或者其中一个比另一个有优势或不同用途?
提前致谢。
最佳答案
第二个假设在父作用域中存在一个名为 window
的对象,并在那里分配一个属性。
第一个将它留给调用者来进行分配,并且不依赖于定义的 window
(它可能只在网络浏览器中)。
所以,我想说第一个肯定更好(更独立,更少依赖环境)。
关于javascript - 这两种 JavaScript 模式之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4871445/