jQuery源码学习之一 (采用匿名函数自执行模式)

1、如何在jquery官网找到 bug的相关说明?

      打开网址  http://bugs.jquery.com/  后,再搜索框中输入bug的 编号(在jquery源码的注释中找到,例如:“ #13335 ”),可找到相关的详细说明和评论。

2、jquery应用 匿名函数自执行模式(避免全局变量污染)

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

        ① 为何传递参数window?

             原因一:根据js的作用域链原理:window处于作用域链的顶级,作为参数传递可以加快查找速度,不用一级一级向上查找。

             原因二:作为参数传递便于 使用压缩工具压缩代码,否则window是不可压缩。

                             压缩的jquery源码(参数window被压缩为e):

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

        ②为何传递参数undefined?

           原因:undefined为window的一个属性,在ie7下undefined可以被修改,为了防止被修改,作为参数传入。

           注:若是jQuery采用下面的写法则undefined 的传入没有意义

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

备注:若是在自己的程序中采用匿名函数自执行  模式,则其前面的分号是 必须的!否则浏览器报错,省略其后面的分号,没有报错!为了养成良好的代码风格,建议不要忽略分号。



学习版本:jquery-2.0.3

jquery官网:http://jquery.com/

Sizzle官网:http://sizzlejs.com/



posted @ 2014-07-10 16:14  hdchangchang  阅读(172)  评论(0编辑  收藏  举报