好的,所以我自己写了一个项目的js库,我有一个问题。像大多数其他库一样,为了保留我的变量范围,我将我的代码包装在这里:
(function() {
// my code here
})();
现在我的问题是:我注意到jQuery传递了window对象并设置了自己的文档对象:
(function(window) {
var document = window.document;
})(window);
有谁知道他们为什么这样做?
答案 0 :(得分:15)
是的!由于此函数中的窗口是一个局部变量,现在它允许缩小其名称。 此外,访问局部变量应该比全局变量更快。
答案 1 :(得分:1)
您可以更快地访问本地变量,也可以使用以下内容缩短变量名称“window”(甚至是“document”):
(function(w, d)(){
// use w and d var
})(window, document)