分析jquery源码的一搜还是很多的,但是还是自己写一写,一方面以后找起来方便,自己写的自己知道在哪,另一方面不懂的地方每个人是不一样的,也就是说每个人的侧重点不一样,所以我写的也基本是我看别人文章的时候发现自己不是很懂的地方。还有些是自己现阶段还不太懂的,就不写了,以后懂了再加。
jquery2.0.3大体可以分这么几个部分:
1。Sizzle,选择器
2。extend,扩展
3。Callbacks,回调
4。Deferred,延迟对象
5。support,支持的功能检测
6。缓存
7。队列管理
8。元素属性的操作
9。事件操作
10。DOM操作
11。样式操作
12。ajax
13。动画
14。位置和尺寸
jquery有挺多关于压缩和防止原有的变量被修改的代码,比如
(function(window,undefined){
...
})(window);
这最外面一层的定义,把window局部化了,缩短原型链,也有方便压缩的作用,同时也防止undefined被修改
包括对数组方法的一些赋值,也有方便压缩的考量,比如core_slice = [].slice
第一篇,就顺便写一下自己看jquery源码的心得:
- 要熟悉一个框架的使用再去看源码,比如jquery的Deferred,如果没用过就去看代码,肯定看的非常头大
- 以点破面,先看会一两个方法,自己写写测试代码,调试一下,减少对这个框架的疏离感,总是在框架代码里调试、看变量值,就不会惧怕,慢慢地就发现自己已经知道不少方法的原理了
- 不要怕看不懂,第一遍看不懂是正常的,多看看别人写的文章,这次没看懂下次继续