This question already has answers here:
What advantages does using (function(window, document, undefined) { … })(window, document) confer? [duplicate]

(4个答案)


6年前关闭。




好的,所以我正在为自己编写一个项目的js库,但我有一个问题。像其他大多数库一样,为了保留变量范围,我将代码包装在其中:
(function() {
// my code here
})();

现在我的问题是:我注意到jQuery传递了window对象并设置了自己的文档对象,如下所示:
(function(window) {
var document = window.document;
})(window);

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

最佳答案

是!由于此函数中的窗口是局部变量,因此它可以缩小名称。
同样,访问局部变量应该比访问全局变量更快。

09-11 19:55
查看更多