长文。。。不间断更新中。。。
站在巨人的肩膀上 我们也来解读一下前端神器JQuery,此次解读的JQ版本2.0.3开发板。各版本之间存在微小差异,与 文中描述不符,请客官见谅。
JQ开发版源码一共8800+行代码量,大小约237k。如果是压缩版则约90k大小。我们先总的来看看这8800+代码都是做了些什么。
首先JQ是一个基于面向对象的程序,对JS面向对象编程不熟悉的,可以先去熟悉一下。
(21,94) 定义了一些变量和函数 jQuery = function(){}
(96,283) 给JQ对象,添加一些方法和属性
(285,347) extend : JQ 的继承方法
(349,817) jQuery.extend() : 给jQuery对象扩展的静态工具方法
(877,2856) Sizzle : 复杂选择器的实现
(2880,3042) Callbacks : 回调对象 :对函数的统一管理
(3043,3183) Deferred : 延迟对象 : 对异步的统一管理
(3184,3295) support : 功能检测
(3308,3652) data() : 数据缓存
(3653,3797) queue() : 队列管理
(3803,4299) attr() prop() val() addClass()等 : 对元素属性的操作
(4300,5128) on() trigger() : 事件操作的相关方法
(5140,6057) DOM操作 : 添加 删除 包装 获取 DOM筛选
(6058,6620) css() : 样式的操作
(6621,7854) 提交的数据和ajax() : ajax() load() getJson()
(7855,8584) animate() : 运动的方法
(8585,8792) offet() : 位置和尺寸的方法
(8804,8821) JQ支持模块化的模式
(8826) window.jQuery = window.$ = jQuery
后面会针对每个小部分具体展开了分析。这里就当时目录了。