jQuery技术

23),看jQuery源码还有必要吗?

字号+ 作者:H5之家 来源:H5之家 2015-10-28 12:23 我要评论( )

入前端两个多月了,基本知识也都学的差不多。新技术新框架还是一个接一个的冒出来,我不知道该从哪下手。ES5、ES6也都出炉了,我也不知道该不该研究。只是了解一

小神童  5 天前#2 -



曾经花了几个月时间看完了jQuery1.6源码,谈谈关于jQuery源码:

- sizzle:选择器引擎,主要功能就是实现高版本浏览器里面的querySelectorAll这个API,同时为了页面性能,做了很多优化:a.大部分选择器从右到左处理; b.最左边存在id选择器,先求出来作为执行上下文,加快查找速度;c.ID、class、tag的使用顺序等等。这部分的内容占了30%的代码量,其中做了很多兼容性的工作。关于性能优化的思路可以借鉴,但是兼容性就算了,兼容性是项目经验的函数,没必要花费太多精力,尤其是js的兼容性

- cache:数据存储,jQuery里面的事件、动画、data最终都是将数据存储在这里面,方便数据的存储,在一定程度上避免了内存泄露

- 事件:为了方便地定义自定义事件、模拟事件代理、触发函数等功能,jQuery中所有的事件均是通过handle进行注册,然后通过dispatch方法进行分发,里面的回调函数是存储在$.cache里面。

- Deferred:用于异步处理,代码虽短,但是技巧性太强、晦涩难懂,并且是不遵循promise/A 规范的(新版本的jQuery已经遵循)

- ajax请求:对ajax请求进行了很多封装、拓展,同时与Deferred结合在一起完成异步操作,参数太多,很多代码均是在做参数处理,阅读起来没多大收获

- 动画解析:这部分是jQuery的另外一个亮点吧,毕竟DOM操作是jQuery的主打特色,动画参数涉及到起始状态、变化时间、变化速率函数等内容,代码不是很好阅读

总结:上述是jQuery的主要功能模块,总体来说jQuery代码晦涩、技巧性强,不适合新人阅读。随着前端技术的发展,jQuery、YUI等框架已经不适应业务发展,历史寿命即将完成。其中的很多设计思路也不是目前的痛点,里面的技巧性东西学了也没什么意思。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jquery源码学习笔记二

    jquery源码学习笔记二

    2015-11-22 10:22

  • web前端开发学习路线

    web前端开发学习路线

    2015-11-19 16:51

  • 优就业Web前端教程-每个程序员都会的35个 jQuery 小技巧

    优就业Web前端教程-每个程序员都会的35个 jQuery 小技巧

    2015-11-18 16:39

  • 前端进阶计划

    前端进阶计划

    2015-11-17 15:03

网友点评