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

摘要:
原因:undefined是窗口的一个属性。undefined可以在ie7下修改。为了防止修改,它作为参数传入。

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/



免责声明:文章转载自《jQuery源码学习之一 (采用匿名函数自执行模式)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RZ、NRZ、NRZI、曼彻斯特编码zabbix proxy配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

让你的拼图聪明起来——自动还原拼图

写在前面 上一篇文章我写了一个简单的iOS 拼图游戏(童年的记忆——拼图游戏),现在我要让这个游戏聪明起来,帮助你来完成拼图。写这篇文章的时候正好在看《最强大脑》,节目里的第一个PK就是复原这种拼图(非图而是数字,数字华容道),节目营造了非常紧张的气氛,其实这种拼图复原算是比较简单的。 不再前戏,直接进入正题:游戏源码点这里(拼图游戏),您可以从这份源码中...

图表插件

一. Highcharts 支持的图表:曲线图,柱状图,饼状图,区域图,散状点图,综合图表。 浏览器支持:采用纯JavaScript编写,兼容所有的浏览器,Safari、IE6+、火狐和Chrome包括iphone等 功能特性: 1.包含一些预定义的主题和图表,界面美观,运行速度快,动态交互不错,有很好的兼容性。 2. 不受语言约束:可以在大多数的WEB...

看了这个才发现jQuery源代码不是那么晦涩

很多人觉得jquery、ext等一些开源js源代码 十分的晦涩,读不懂,遇到问题需要调试也很费劲。其实我个人感觉主要是有几个方面的原因: 1、对一些js不常用的语法、操作符不熟悉 2、某个function中又嵌套了一些内部的function,使得整个代码的层次结构不像java代码那么清晰。 3、js中允许变量先使用后定义,会造成我们看代码时候忽然冒出来一个...

jQuery快速入门

---恢复内容开始--- jQuery 快速入门 jQuery介绍 1、jQuery是一个轻量级的、兼容多浏览器的JavaScript 库。 2、jQuery使用户能够更方便的处理HTML Document、Events、实现动画效果, 方便的进行Ajax交互, 能够极大的简化JavaScript编程。 它的宗旨就是:write less. do more...

在 github 上获取源码

 比如访问: https://github.com/alifellod/NWebGather  可以找到下面的源码获取方式。 在github开源项目的页面上可以找到上图的三个获取源码方式。 使用git的网址,可以使用比如TortoiseGit这里的客户端软件获取源码 TortoiseGit 如下图,如果安装了TortoiseGit,那么在一个还没有建立...

JQuery EasyUI datagrid 批量编辑和提交

前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700,...