欢迎光临
我们一直在努力

一起学习jQuery2.0.3源码—1.开篇

write less,do more

jquery告诉我们:牛逼的代码不仅精简而且高效!

2006年1月由美国人John Resig在纽约的barcamp发布了jQuery,吸引了来自世界各地众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的JavaScript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。

jQuery 版本:截止2013年6月的版本是2.0.3和1.10.2。其中,jQuery1.10.2支持兼容各个版本的浏览器,而jQuery2.0.3并不完全兼容IE 6、7、8,仅凭这份骨气,便高看它几分,因此在学习源码时毫不犹豫选择了jQuery2.0.3,同时也是在呼吁:让IE6尽早走向灭亡,最好是尸骨无存!

开篇

本系列文章的宗旨:学习jQuery源码,便应习其精华,为我所用!

jQuery源码中的精髓无外乎:初始化的设计思路;选择器的设计方法;事件处理的设计方法;动画效果的设计机制;Ajax封装的设计思路;插件机制的设计;兼容性处理的设计方法;等。针对源码中精髓部分将进行重点学习,其余部分源码或简述、或略去、或一句带过。

纵览

jQuery 2.0.3源码的整体框架中,源码共8829行,将其划分为下列各个部分,其中每一行的数字,如21,94是指源码中的21行到94行的内容。

(14) (function(window,undefined){:定义自执行的匿名函数,所有源码均包含在该匿名函数中

(21,94) jQuery = function(){……}:定义了一些变量和函数

(96,283) jQuery.fn = jQuery.prototype={}:在jQuery对象原型中添加一些属性和方法

(285,347) jQuery.extend = jQuery.fn.extend : jQuery的继承方法,为添加后续代码提供良好的扩展性,同时扩展插件也是从该继承方法中扩展

(349,817) jQuery.extend() : 扩展一些工具方法(静态方法),如$.trim()、$.proxy()、等

(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) offset() : 位置和尺寸的方法

(8804,8821) jQuery中支持模块化的模式

(8826) window.jQuery = window.$ = jQuery:jQuery的符号简写为$

(8829) })(window):传入window参数

收尾

学习jQuery源码,其最终目的是要能够为我所用,即写出一套架构健壮、编码规范、运行稳定的属于自己的JS框架库,相信这个过程将使我们那拙劣的编码技术得到极大的提高,还有那满满的成就感,以及自我肯定。

因此,对于我们,这份执著,值得!

一起学习jQuery2.0.3源码—1.开篇

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《一起学习jQuery2.0.3源码—1.开篇》
文章链接:https://www.456zj.com/20894.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址