gpt4 book ai didi

javascript - 这个 JavaScript/jQuery 语法是如何工作的 : (function( window, undefined ) { })(window)?

转载 作者:搜寻专家 更新时间:2023-11-01 04:40:13 24 4
gpt4 key购买 nike

您是否曾经深入了解过 jQuery 1.4 源代码并注意到它是如何以下列方式封装的:

(function( window, undefined ) {

//All the JQuery code here
...

})(window);

我读过关于 JavaScript Namespacing 的文章还有一个叫做“An Important Pair of Parens”,所以我知道这里发生了什么。

但我以前从未见过这种特殊的语法。 undefined 在那里做什么?还有为什么window需要传过去,然后又出现在末尾?

最佳答案

undefined 是一个普通变量,可以用 undefined = "new value"; 简单地改变。所以 jQuery 创建了一个真正未定义的本地“未定义”变量。

出于性能原因,窗口变量是本地的。因为当 JavaScript 查找一个变量时,它首先会遍历局部变量,直到找到变量名。当找不到时,JavaScript 会遍历下一个范围等,直到它过滤掉全局变量。所以如果 window 变量是本地的,JavaScript 可以更快地查找它。更多信息:Speed Up Your JavaScript - Nicholas C. Zakas

关于javascript - 这个 JavaScript/jQuery 语法是如何工作的 : (function( window, undefined ) { })(window)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38565019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com