博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery剥皮一
阅读量:6220 次
发布时间:2019-06-21

本文共 1101 字,大约阅读时间需要 3 分钟。

  hot3.png

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

你可能感兴趣的文章
智慧城市发展物流产业仓储机器人推动力
查看>>
淘宝bug管理系统
查看>>
重新配置OpenFire数据库
查看>>
《高性能科学与工程计算》——1.6 向量处理器
查看>>
《高可用架构·中国初创故事(第3期)》一1.3 不愿透露信息
查看>>
《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一导读
查看>>
《超越平凡的平面设计:怎样做好版式(第1卷)》—第1章1.1节 如何设计新闻简报...
查看>>
安卓应用漏洞检查工具 QARK
查看>>
《MATLAB/Simulink系统仿真超级学习手册》——1.2 MATLAB简介
查看>>
阿里巴巴向 Apache 基金会捐赠移动开发框架 Weex
查看>>
《数据结构与算法 C语言版》—— 1.1数据结构的研究对象
查看>>
商用市场发力,Chromebook 销量超 Mac
查看>>
《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——1.12节复习题
查看>>
企业如何选择合适的开源软件
查看>>
Google 为 Chrome 51 新版支付了 75000 美元漏洞奖金
查看>>
通过添加一些 gems 来提升 Rails 应用的性能 【已翻译100%】
查看>>
《深入理解Elasticsearch(原书第2版)》一2.2 查询改写
查看>>
《软件工艺师:专业、务实、自豪》一3.7.4 软件工艺社团
查看>>
身为码农,为 12306 说两句公道话
查看>>
《VMware vSphere设计(原书第2版)》——3.4 小结
查看>>