jQuery剥皮一

jquery1.4 jquery1.4下载


这里使用了 jQuery1.4,为什么使用 1.4 因为 1.4 很多特性没有添加分析起来相对容易。

1

181834_Ukqz_568138.png 

闭包开始整个代码,这里传递window 是避免查找全局window 加快了速度(没太大感觉啊哈)

 

2

181843_SI7v_568138.png 

定义了jQuery的构造函数,实际上你使用$(select)是走的jQuery.fn.init

 

3

181859_Cwiw_568138.png 

定义了实际的构造方法 => $(select) $(nodeType) $(function(){}) $(<p></p>处理这几种方法

这里还定义了一些核心方法 toArray(伪数组转换为数组)、get(获取this中的元素)、pushStack(返回新的jQuery对象,并且会跟踪上一次的元素在prevObject)setArray(把传递进来的元素设置到jQuery对象中,会清空以前的选中元素)、eachreadyeqfirstlastslicemapend

 

4、

181913_NjFu_568138.png 

把构造函数的原型链指回了jQuery函数原型链,不然没法引用到 jQuery.prototype 的函数了

指向前

181920_WgKH_568138.png 

指向后

181925_B1bg_568138.png 

 

5

181932_KJNm_568138.png 

jQuery原型和jQuery函数静态方法添加extend扩展函数,这个函数太常用了。如果传递的是一个对象,他会给当前的this 扩展

 

6

181945_l8Sn_568138.png 

jQuery函数静态方法扩展了一堆方法

noConflictreadybindReadyisFunctionisArrayisPlainObjectisEmptyObjectglobalEvalnodeNameeachtrimmakeArrayinArraymergegrepmapproxyuaMatch

 

7、接着做了浏览器一些兼容的处理

 

8

做了jQuery.data的扩展,上面划绿线的是实现层,我们平常调用的$.data() 是下面划红线里面的方法182012_Y2V8_568138.png

182042_gfu1_568138.png

 

9

182050_dDca_568138.png 

jQuery 的队列扩展

 

 

10

182057_HjM5_568138.png 

jQuery 属性样式扩展

 

 

11

182104_Zfx0_568138.png 

这个是jQuery 事件的基础,所有的高级事件都要通过它们实现

 

12

182110_PoKs_568138.png 

对事件的兼容处理

 

13

182116_4vSf_568138.png 

这都都是锦上添花的实现,为了更方便

 

14

182125_ap1q_568138.png下面都是选择器的实现,没(shi)(kan)(bu)(dong) 哈哈。

 

15

182136_Xs9e_568138.png 

对选择的元素进行高级过滤查找操作。这些的函数太好用啦

 

16

182143_NG9w_568138.png 

182153_T0Hx_568138.png 

这些文档处理函数也是很好用

 

17、下面就是一些ajax 样式、动画的一些封装也没啥好说的了(其实每个单拿出来,要说好久)。

 

 

 


转载于:https://my.oschina.net/itudou/blog/342434

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值