javascript – 了解jquery源代码

栏目: jQuery · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/3846636/understanding-jquery-source-code
我最近开始深入研究 JavaScript

,并在JQuery中遇到了这个代码构造.

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

阅读堆栈溢出(和其他地方)我得出结论,这是相同的

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

foo(window);

我的假设是否正确?

如果是这样,前者的优势是什么? (除了令人困惑的新手)

要理解它,您需要了解一些事项:

>这是一个匿名函数,只是意味着它没有名称.

>声明声明后立即调用该函数.在函数定义之后,您会在第2行看到左括号?这意味着,“调用此函数”.

>只有一个参数传递给函数.该参数是“window”,它是浏览器内部全局范围的名称.

>被调用的函数实际上需要* 2 *参数,但我们用一个调用它. Javascript允许您使用比函数实际预期更多或更少的参数调用函数.有一些方法可以获取传递的参数列表.

>由于我们只传递一个参数,第二个参数将自动设置为“未定义”. “undefined”是一个特殊的javascript值,表示准备好,“未定义”.

>恰巧我们还将名称为“undefined”的第二个参数命名为.因此,实际上,我们创建了一个名为undefined的局部变量(参数非常类似于局部变量),其值未定义.

>为什么我们在地球上这样做?这是一种确保在我们的匿名函数中,如果我们引用“未定义”,它确实具有“未定义”值的方法.如果我们不这样做,并且我们范围之外的一些疯狂代码重新定义为“未定义”(通过说“undefined = 42”之类的东西),那么我们编写代码思维我们指的是未定义但我们实际上是参考42.这些恶作剧传递1个参数,但期望2,并且调用第二个参数未定义,保护我们免受这种无意义.

我希望这很清楚,如果不是,请告诉我.我从上面提到的Paul Irish的视频中学到了所有这些.

翻译自:https://stackoverflow.com/questions/3846636/understanding-jquery-source-code


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

五子连珠必胜法

五子连珠必胜法

新井华石 / 张书 / 人民体育出版社 / 1997-10 / 12.00元

《五子连珠必胜法》经日本国虹有社授权,译自日本连珠社已故理事长新井华石九段经典著作《连珠必胜法》一书。内容阐述和介绍五子连珠的基本着法和各种常用的布局定式。全书分两大编。连珠基本编介绍连珠棋的发展历史、连珠棋的规则和规定以及基本珠形。连珠必胜编分为六章分别阐述和介绍各种常用布局定式,包括二号连浦月、五号连花月、一号连云月、二号桂名月、三号桂岚月、二号间恒星六种布局定式。一起来看看 《五子连珠必胜法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具