jquery相比其他js库为什么那么受欢迎

jquery相比其他js库为什么那么受欢迎

作为前端我相信所有人对jquery这个js库都非常熟悉,基本上现在所有大大小小的网站都在使用jquery,这是为什么呢?jquery为什么会成为主流的js类库呢,今天我就简单聊下Jquery的几个重要的版本。


首先来看下历史版本:

       jQuery 1.0(2006年8月):该库的第一个稳定版本,已经具有了对CSS选择符、事件处理和AJAX交互的稳健支持。 
  jQuery 1.1(2007年1月):这一版大幅简化了API。许多较少使用的方法被合并,减少了需要掌握和解释的方法数量。 
  jQuery 1.1.3(2007年7月):这次小版本变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。 
  jQuery 1.2(2007年9月):这一版去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够支持对效果的更灵活定制,而且借助新增的命名空间事件,也使插件开发变得更容易。 
  jQuery UI(2007年9月):这个新的插件套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放的界面元素)的工具。 
  jQuery 1.2.6(2008年5月):这一版主要是将Brandon Aaron开发的流行的Dimensions插件的功能移植到了核心库中。 
  jQuery 1.3(2009年1月):这一版使用了全新的选择符引擎Sizzle,库的性能也因此有了极大提升。这一版正式支持事件委托特性。 
  jQuery 1.3.2(2009年2月):这次小版本升级进一步提升了库的性能,例如改进了:visible/:hidden选择符、.height()/.width()方法的底层处理机制。另外,也支持查询的元素按文档顺序返回。 


jquery1.3.2这个版本我想许多人直到现在还可以在很多老的网站看到这个版本,因为这可能有许许多多的原因,很多开发人员并不十分了解jquery,觉得升级版本库会带来许多的问题,而且也觉得升级了并没有太多意义,这就是为什么现在很多网站有各种版本的jquery存在的原因。

jquery1.3.2其实他的性能跟其他JS库比在当时的性能而言是非常低的。我这来看下taskspeed提供给我们的一组数据:


jquery相比其他js类库性能对比

大家看到这图肯定要开喷了,为什么jquery1.3.2的性能相比其他会这么差也就比prototype稍好一点。为什么性能这么差,依旧还是有那么多人投入使用这个类库呢,当然最主要还是因为他入门比较容易了,使用简单,又是一个轻量级的类库。

如果看到这里你就一句对jquery感到失望,那你就错了,接下里的jqeury的版本已经把优化性能作为首要工作了。


    jQuery 1.4(2010年1月14号对)代码库进行了内部重写组织,开始建立一些风格规范。老的core.js文件被分为attribute.js, css.js, data.js, manipulation.js, traversing.js和queue.js;CSS和attribute的逻辑分离。

1.4.+的发布也可以算是一个质的飞跃了,我来看下这个版本的性能跟其他JS类库的对比。

jquery相比其他js类库性能对比


jquery1.4相比jquery1.3各属性性能优化图


jquery各版本性能在各个浏览器下性能对比图


看到上面的几个分析图片我想大家应该知道为什么jquery为什么会成为最多人使用的js类库了,现在的Jquery版本更新非常的快.

2011年11月-04日jQuery1.7正式版发布。
   新版本包含了很多新的特征,特别提升了事件委派时的性能尤其是在IE7下。 
  新增及改进项: 
  1. 新的事件 APIs: .on() and .off(); 
  2. 提升了事件委派时的性能有了大幅度的提升,尤其是在IE7下; 
  3. 更好的在 IE 6/7/8 上支持 HTML5; 
  4. 切换动画更加直观; 
  5. 匿名模块定义 AWD 
  6. jQuery.Deferred 
  7. jQuery.isNumeric() 
  被删除的方法: 
  event.layerX and event.layerY 
  jQuery.isNaN() 
2012年03月24日jQuery 1.7.2正式版发布。 
  该版本在1.7.1的基础上修复了大量的bug,并改进了部分功能。而相比于1.7.2 RC1,只修复了一个bug。值得注意的是:如果你正在使用jQuery Mobile,请使用最新的jQuery 1.7.2和jQuery Mobile 1.1这两个版本,因为之前的jQuery Mobile版本还基于jQuery core 1.7.1或更早的版本。


直到今天为止现在的jquery已经更新到jquery2.0.3了,关于新版本的介绍我就不解释了,大家可以去看下官网的API,相信他比我解释的更好。


转载请注明来自 520UED http://www.520ued.com/article/538820fdb992a7c43f5c203a

comments powered by Disqus