我正在使用一些需要全局配置变量的库(例如 Less.js 和 Dojo)。例如:
less = { ... };
dojoConfig = { ... };
这工作正常,但我想知道,我应该在窗口上显式声明这个变量吗?
window.less = { ... };
window.dojoConfig = { ... };
每种方法的优缺点是什么?从实际代码中引用此变量的优缺点是什么(不考虑可能与局部变量的名称冲突):
var somethingNew = dojoConfig.something;
我唯一能想到的是没有窗口的代码更漂亮:)
最佳答案
如果您开始以严格模式 运行代码,您会发现通过排除var
或window 来创建隐式全局变量是非法的。
。
IMO,明确声明始终是更好的做法。对于全局变量,如果您在全局变量范围内,则为 window.foo
或 var foo
。
就引用现有的全局变量而言,它就像此时的任何其他变量一样,因此您实际上并不需要 window.
为此目的,尽管如果变量是被同名的局部变量覆盖。
关于JavaScript - 全局命名空间、窗口或什么都没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874692/