为什么jQuery将window对象传递到它们的作用域中

Jus*_*ull 13 javascript variables jquery scope window

好的,我正在为自己写一个项目的js库,我有一个问题.像大多数其他库一样,为了保留我的变量范围,我将代码包装在此:

(function() {
// my code here
})();
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:我注意到jQuery传递了window对象并设置了自己的文档对象,如下所示:

(function(window) {
var document = window.document;
})(window);
Run Code Online (Sandbox Code Playgroud)

有谁知道他们为什么这样做?

And*_* M. 15

是! 由于此函数中的窗口是局部变量,因此它允许缩小其名称.此外,访问局部变量应该比全局变量更快.