gpt4 book ai didi

javascript - 在 javascript 中,这个语法 `(function(window,undfined)){}(window)` 完成了什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:46 25 4
gpt4 key购买 nike

我正在尝试了解如何像 jQuery 那样将 JavaScript 事件“链接”在一起。我在 S.O. 上发现了一个问题。这与我的目标相似,但我不理解答案中的代码。

Code Source

(function( window, undefined ) { 
...etc...
}(window)

这是什么意思?它在做什么?让我想起了Jquery的$(document).ready(){}函数,但是不知道为什么这个人把自己的代码包装在这个传递window的匿名函数里和 undefined

我的最终目标是找出如何通过将方法链接在一起(如 jQuery)来在对象上执行方法。我知道 jQuery 已经这样做了,但我主要是为了开发人员的成长而研究它。

最佳答案

它定义了一个函数(使用 function operator 而不是 function statement )。它周围的括号确保它被视为运算符而不是语句。

然后它会立即执行它,将 window 作为参数传递。

本质上,这与:

var myFunction = function( window, undefined ) { 
...etc...
};
myFunction(window);

...但没有间隙变量。

这与 jQuery 风格的函数链无关,其中每个方法都有效地以 return this 结束(因此在另一个方法的返回值上调用一个方法与在原始方法上调用它是一样的对象)。

关于javascript - 在 javascript 中,这个语法 `(function(window,undfined)){}(window)` 完成了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127237/

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