This question already has answers here:
What advantages does using (function(window, document, undefined) { … })(window, document) confer? [duplicate]
(4个答案)
6年前关闭。
好的,所以我正在为自己编写一个项目的js库,但我有一个问题。像其他大多数库一样,为了保留变量范围,我将代码包装在其中:
现在我的问题是:我注意到jQuery传递了window对象并设置了自己的文档对象,如下所示:
有人知道他们为什么这样做吗?
(4个答案)
6年前关闭。
好的,所以我正在为自己编写一个项目的js库,但我有一个问题。像其他大多数库一样,为了保留变量范围,我将代码包装在其中:
(function() {
// my code here
})();
现在我的问题是:我注意到jQuery传递了window对象并设置了自己的文档对象,如下所示:
(function(window) {
var document = window.document;
})(window);
有人知道他们为什么这样做吗?
最佳答案
是!由于此函数中的窗口是局部变量,因此它可以缩小名称。
同样,访问局部变量应该比访问全局变量更快。