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

时间:2011-01-12 04:13:56

标签: javascript jquery variables scope window

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

(function() {
// my code here
})();

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

(function(window) {
var document = window.document;
})(window);

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

2 个答案:

答案 0 :(得分:15)

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

答案 1 :(得分:1)

您可以更快地访问本地变量,也可以使用以下内容缩短变量名称“window”(甚至是“document”):

(function(w, d)(){

    // use w and d var

})(window, document)