jQuery源码分析系列之自调用匿名函数

发布时间:2019-05-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了jQuery源码分析系列之自调用匿名函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_304_0@

自调用匿名函数

打开jQuery码,首先你会看到这样的代码结构:

@H_126_13@(function(window,undefined){ //jquery code })(window);

这是一个自调用匿名函数。在第一个括号内,创建一个匿名函数;第二个括号内,立即执行

使用自调用匿名函数的原因

通过定义一个匿名函数,创建了一个“私有”的命名空间,该命名空间的变量和方法,不会破坏全局的命名空间。这点非常有用也是一个js框架必须支持的功能,jQuery被应用在成千上万的JavaSctipt程序中,必须确保jQuery创建的变量不能和导入他的程序所使用的变量发生冲突

传入参数window的原因

传入window:因为执行js代码是从里到外的,通过传入window变量,使得window由全局变量变为局部变量,当在jQuery代码块中访问window时,不需要将作用域链回退到顶层作用域,这样可以更快的访问window;更重要的是,将window作为参数传入,可以在压缩代码时进行优化,例如jQuery-1.6.1.min.js: (function(a,b){})(window);//window被优化为a

传入undefined的原因:

(1)Javascript 中的 undefined 并不是作为关键字,因此可以允许用户对其赋值,例如IE8:


    VAR undefined = 'change'
    ;(function(window) {
          alert(undefined);//IE8 'change'
    })(window)
    

(2)行参undefined是局部的,所以就算在外部定义了undefined,里面的undefine依然不受影响。这样子最大程度止外界的变量定义对内部造成影响

脚本宝典总结

以上是脚本宝典为你收集整理的jQuery源码分析系列之自调用匿名函数全部内容,希望文章能够帮你解决jQuery源码分析系列之自调用匿名函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。