首页 > web前端 > js教程 > 为什么 jQuery 使用 `(function(window, undefined){...})(window);`?

为什么 jQuery 使用 `(function(window, undefined){...})(window);`?

Patricia Arquette
发布: 2024-12-11 02:45:09
原创
750 人浏览过

Why Does jQuery Use `(function(window, undefined){...})(window);`?

探索 jQuery 中 JavaScript 封装的语法

在检查 jQuery 1.4 源代码时,可能会遇到以下封装语法:

(function( window, undefined ) {

  //All the JQuery code here 
  ...

})(window);
登录后复制

此语法引发了有关“未定义”变量用途的问题以及“窗口”的重复出现。

“undefined”的含义

括号内的“undefined”变量不是保留关键字。相反,它是一个可以分配新值的普通变量。在这种情况下,jQuery 将“undefined”设置为“undefined”,以确保全局“undefined”变量保持真正的未定义状态。

“window”的意义

“window”变量指的是全局 JavaScript 对象。通过将“window”作为参数传递给匿名函数,jQuery 创建了对全局对象的本地引用。这种本地引用增强了性能。

当 JavaScript 搜索变量时,它首先检查本地范围。如果在本地没有找到该变量,则搜索将继续到下一个范围,依此类推,直到到达全局范围。通过创建对全局对象的本地引用,JavaScript 可以快速定位“窗口”,而无需搜索所有范围。

这种优化,正如 Nicholas C. Zakas 在他的文章《加速你的 JavaScript》中所描述的那样,”显着提高了 jQuery 库的执行速度。

以上是为什么 jQuery 使用 `(function(window, undefined){...})(window);`?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板