我已经多次看到以下JS编码风格:
document.addEventListener("DOMContentLoaded", function() {
foo.run();
});
var foo = {
bar: null,
baz: null,
run: function() {
foo.init();
},
init: function() {
foo.bar = 1;
}
...
};
基本上除addEventListener
之外的所有内容都包含在JS对象中。这有什么好处吗?为什么呢?
答案 0 :(得分:2)
执行此操作(以及使用函数而不是对象,因为它为您提供本地范围)可以避免将大量内容放入全局命名空间中,因为它可能与其他内容冲突。
如果你想拥有模块化,可重复使用的代码(你不知道你被放入的应用程序还没有使用window.init
或{{1 }}
基本上,这可以用任何语言进行“全局变量都不好”的讨论。