我们经常看到这种方法被使用:
(function (window) {
var document = window.document,
location = window.location,
navigator = window.navigator;
})(window)
当学习上面的代码片段时,我想知道为什么一个像 window
这样全局可访问的对象被作为参数传递给函数。可能是因为:
- 开发人员无法百分之百确定在本地函数范围内可以访问 window 对象吗?
- 这是一种良好的实践,因为你向阅读你代码的其他开发人员明确了你的意图。
- 你看 John Resig 这样做,所以肯定很牛逼!
你觉得呢?