JavaScript:将所有内容包装在变量中有什么优势吗?
JavaScript: is there any advantage in wrapping everything in a variable?
我已经多次看到以下JS编码风格:
document.addEventListener("DOMContentLoaded", function() {
foo.run();
});
var foo = {
bar: null,
baz: null,
run: function() {
foo.init();
},
init: function() {
foo.bar = 1;
}
...
};
所以基本上除了addEventListener
之外的所有东西都包装在一个JS对象中。这有什么好处吗?为什么?
这样做(以及使用函数而不是对象,因为这会给你本地范围)可以避免将很多东西放入全局命名空间中,因为它可能与其他内容冲突。
如果您想拥有模块化、可重用的代码,这一点尤其重要(您不知道您正在放入的应用程序尚未使用window.init
或window.bar
。
基本上,这与你可以在任何语言中进行的"全局变量不好"的讨论相同。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 什么是&&在没有if的行中的变量之间
- 什么'它的意思是当一个变量位于括号外时
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- 未设置变量的赋值| jQuery的作用是什么
- 在Javascript中,变量前面的+运算符是什么
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 什么's;var'声明的变量和'这'在Javascript中创建了属性
- 当我想发布一个变量但有 1 个 js 时,ajax post 的解决方案是什么
- 有什么区别!!变量和变量
- 返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么
- JavaScript 构造函数中的“var”变量会发生什么
- 在 HTML 中显示变量的好做法是什么?
- 什么's是处理多个js文件之间交互的简单方法,同时避免溢出全局变量
- javascript中if(变量)的确切否定是什么
- jQuery变量$$符号是什么意思
- 将密码存储在Javascript变量中的安全含义是什么
- 变量的含义是什么 变量名称 = 变量名称 ||{};.
- 在javascript的构造函数中可以放什么变量?
- 我的代码中的错误是什么?变量的乘法没有显示在总数中