jquery源码--总体结构

 1 (function( window, undefined ) {
 2   // 构造jQuery 对象
 3   var jQuery = (function() {
 4     var jQuery = function( selector, context ) {
 5       return new jQuery.fn.init( selector, context, ro otjQuery );
 6     }
 7   return jQuery;
 8 })();
 9 // 工具方法 Utilities
10 // 回调函数列表 Callbacks Object
11 // 异步队列 Deferred Object
12 // 浏览器功能测试 Support
13 // 数据缓存 Data
14 // 队列 Queue
15 // 属性操作 Attributes
16 // 事件系统 Events
17 // 选择器 Sizzle
18 // DOM 遍历 Traversing
19 // DOM 操作 Manipulation
20 // 样式操作 CSS(计算样式、内联样式)
21 // 异步请求 Ajax
22 // 动画 Effects
23 // 坐标 Offset、尺寸 Dimensions
24   window.jQuery = window.$ = jQuery;
25 })(window);

1.用匿名函数是为了防止变量污染。

2.传参传入window undefined,一方面代码压缩之后在匿名函数里面window和undefined可以作为参数而被压缩,可以减少代码量,更重要的一点是window和undefined作为局部变量传入,可以减少作用链的访问距离,也就是说不用访问到window层就可以取得window对象。undefined参数传入是确保undefined的值确实是“undefined”,因为在某些浏览器,可以修改undefined的值,比如undefined = 'test', window.undefined的输入为test。

 

 

另:

文章算是<jquery 技术内幕>的读书笔记,http://book.douban.com/subject/25823709/

转载于:https://www.cnblogs.com/it-snail/p/3905413.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值