一、整体结构:
(21-94) 定义了函数和变量
(96-286) 给JQ添加方法和属性
(285-347) extend:jq的继承方法
(349-817) jQuery.extend(),扩展一些工具方法
(877-2856) sizzle:复杂选择器的实现
(2880-3042)callbacks:回调对象:对函数的统一管理
(3043-3183) deferred:延迟对象:对异步的统一管理(定时器,ajax,添加<script>标签,dom加载)
(3184-3295) support :功能检测
(3308-3652)data():数据缓存
(3653-3797) queue(): 队列管理
(3803-4299) attr() prop() val() addClass() 等对元素属性的操作
(4300-5128) on() trigger() 事件操作相关方法
(5140-6057) DOM操作:添加,删除,获取,包装,筛选
(6058-6620)css():样式的操作
(6621-7854)提交的数据和ajax()的操作:ajax() load() getJson()
(7855-8584) animate():运动的方法
(8585-8792) offset(): 位置和尺寸的方法
(8804-8821)JQ支持模块化的模式
(8826)window.jQuery=window.$=$
二、分块
整个框架是匿名函数自调,这样有自己的作用域,与外面的函数不冲突,把wiondow作为参数传到函数里,一是可以提高查找速度,虽然不传window,但作为顶级对象,也可以查找到window,但是这样会逐级查找,最后才找到window,把window传进来会提升查找速度;二是可以把window压缩。undefined作为参数传进来,可以防止被改变,因为undefined不是保留字和关键字,只是window的一个属性,在低版本可以被改变
rootJquery 是$(\document)的赋值,定义变量好维护,可压缩,