`
wenrunchang123
  • 浏览: 251598 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jquery两稳定版本比较~~

阅读更多

       jquery历经了多个版本的更新,版本上的比较貌似没什么必要性,一般来说新的版本会比旧的版本各方面都略有提升,但由于新版中增加了各种新的功能,难免会引起bug的发生。评估一个版本是否适合当前开发场景使用,通过多几方面来衡量比较靠谱。以下我选用业界中比较稳定两个jquery来进行对比,它们分别是1.4.2版本以及1.7.1版本来 。

 

1.  性能上的分析

     1.1带宽比较

      1.4.2体积为71K,1.7.1体积为92k,压缩后的体积相差无几,现金的网络情况可忽视21K的差距。


     1.2各浏览器上的性能比较

       本次性能测试并没有覆盖所有的浏览器,只选用当前比较流行的几个版本,包括了:IE6、IE8、FF11、Chrome 18

 

      测试用例:

<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js">
</script>
<script type="text/javascript">
  var $171 = jQuery.noConflict();
</script>
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js">
</script>
<script type="text/javascript">
  var $142 = jQuery.noConflict();
</script>

<div class="wrapper">
  <div class="innerWrapper">
    <div class="button">
        <a href="" id="button" class="buttonRef">  
           <span class="buttonText">Text</span> 
       </a>
    </div>
  </div>
</div>

<script>
  var context71 = $171("div.wrapper");
  var context42 = $142("div.wrapper");
</script>

 

   在1秒里循环执行以下测试用例

Get - Class 1.4.2	var item = $142(".buttonRef");
Get Class1.7.1	var item = $171(".buttonRef");
Context-Class 1.4.2	var item = $142(".buttonRef", context42);
Context-Class 1.7.1	var item = $171(".buttonRef", context71);
Find-Class 1.4.2	var item = context42.find(".buttonRef");
Find-Class 1.7.1	var item = conttext71.find(".buttonRef");

 

 

    其运行结果就不一一显示出来,感兴趣的童鞋们可以到http://jsperf.com/jq1-4-2-vs-jq1-7-1/3 具体查看各浏览器的性能比较。

    简略汇总了各浏览器的数据:单位:(ops/sec)

   

       总的来说, jquery1.7.1 除了在 IE6 上性能没太大的差别以外,在其它三个浏览器均有较大性能的提升。

 

2.稳定性分析

   

js 稳定性,起码保证浏览器在运行 jquery 的时候不会奔溃,同时我们从其发布策略以及其下个版本有没重大 bug 修复来来衡量哪个版本比较稳定。

首先看看两个版本各自发布的时间,同时它们各自跟下个版本的发布时间间距。

 

Jquery 1.4.2  Posted February 19th, 2010 by John Resig
Jquery 1.4.3  Posted October 16th, 2010 by John Resig
Changelog :http://api.jquery.com/category/version/1.4.3/          


Jquery 1.7.1 Posted November 3rd, 2011 by dmethvin
Jquery 1.7.2 Posted March 21st, 2012 by dmethvin
Changelog:http://blog.jquery.com/2012/03/21/jquery-1-7-2-released/

 

 从发布时间间距和更改日志来说, 1.4.2 版本更稳定点。

 

3.功能上分析

  

1.7.1新增的方法 
     removeData([name|list]) (支持以数组为参数的批量操作)

属性:(新增)
        prop(name|pro|key,val|fn)
        removeProp(name)
    
选择器:(新增)
        focus1.6+

筛选:(重载了方法)
       is(expr|obj|ele|fn)1.6*
       closest(expr,[con]|obj|ele)1.6*
       nextUntil([exp|ele][,fil])1.6*
       parentsUntil([exp|ele][,fil])1.6*
       prevUntil([exp|ele][,fil])1.6*
	
事件:(新增)
       on(eve,[sel],[data],fn)1.7+
       off(eve,[sel],[fn])1.7+
       delegate(sel,[type],[data],fn)
       undelegate([sel,[type],fn])1.6*

Deferred:
    新增了整个模块

工具:(重载了方法)
    $.map(arr|obj,callback)1.6*

 

 

       总的来说, jq1.7.2 重载了不少方法,也新增了一些方法,但对于我们日常开发来说都不是太常用,当然功能更多我们有更多的选择,不过相对来说跟 jq1.4.2 没有太多的优越性。

 

4.可扩展性、兼容性分析

  

由于 Jquery 的版本都是不向后兼容的,导致了基于 jquery 开发的插件兼容性有问题,当新版本的 jquery 推出后,如果开发想升级的话,要看插件是否支持。通常情况下,在最新版 jquery 版本下,现有插件可能无法正常使用。开发者使用的插件越多,这种情况出现概率越高。

 

同时,由于 jquery1.4.2 版本发布时间比较早,基于这版本开发的插件数量庞大,而对应版本的开发社区相当活跃,很多诡异的问题,网上都有对应的解决方案。

 

从可扩展性来分析吧,无论是 1.7.1 还是 1.4.2 留给开发扩展的方法只有两个,分别是 jquery.extend jquery.fn.extend ,一种是添加静态属性和方法、一种是对象添加属性和方法,扩展方式比较简单,经历了多个版本,扩展方式都一致,因此在扩展性上面没什么可比较的。

 

5.结论

   

综上所述, jquery1.7.1 的版本在多数浏览器上的性能表现无疑比 jquery1.4.2 更好,而稳定性和兼容性方面 jquery1.4.2 更出色点,其它地方基本没什么差距。   

从我们目前前端开发情况来说吧,引用到第三方的扩展库相对来说比较少,而 1.4.2 拥有庞大插件数量的优势对于我们来说没什么意义(习惯自研的)。我们更多的关注框架性能是否优越,可扩展性是否良好,因此, jquery1.7.1 的版本是当前最好的选择。

 

  • 大小: 39.8 KB
分享到:
评论
1 楼 QiuQiu0034 2012-07-05  
您在文中写到“Jquery 的版本都是不向后兼容的”
请问我现在从1.4.2过渡到1.7.1可以吗?谢谢

相关推荐

    jquery各个稳定版本

    在“jquery各个稳定版本”这个主题下,我们将探讨jQuery的发展历程、主要版本特性以及它们对前端开发的影响。 首先,jQuery的核心理念是"Write Less, Do More",这体现在它的API设计上,使得开发者能用更简洁的代码...

    jquery validate 最稳定版本

    在这个“jquery validate 最稳定版本”中,我们可能找到了一个经过广泛测试和优化的版本,以确保最佳的稳定性和兼容性。 1. **基本使用** jQuery Validate 插件的基本用法是首先在页面中引入jQuery库和validate...

    jquery-3.31版本

    在压缩包中,有两个文件:`jquery-3.3.1.js`是未压缩的源代码版本,适合调试和学习使用;而`jquery-3.3.1.min.js`则是经过压缩和优化的版本,体积更小,更适合生产环境,以减少页面加载时间。 总的来说,jQuery ...

    常用的几个jquery版本文件

    - jQuery 1.x系列:这是最早的稳定版本,兼容性较好,支持IE6/7/8等老版本浏览器,但不包含最新的HTML5和CSS3特性。 - jQuery 2.x系列:相比1.x,2.x移除了对旧版IE的支持,优化了性能,更适合现代浏览器环境。 -...

    jquery-migrate3.4版本

    总之,jQuery Migrate 3.4.0版本是一个宝贵的工具,它帮助开发者应对jQuery升级带来的挑战,确保代码的兼容性和稳定性。通过合理利用这个插件,我们可以逐步将项目过渡到最新的jQuery版本,同时保持对旧代码的支持。

    jQuery 常用版本大全

    1. **jQuery 1.x系列**:这是最早的稳定版本,兼容旧版IE浏览器(如IE6、7、8),适合需要支持较老浏览器的项目。 2. **jQuery 2.x系列**:从这个版本开始,jQuery放弃了对旧版IE的支持,从而可以更轻量级,更快地...

    jquery框架各版本.zip

    在jQuery 1.11.x版本中,继续强化了浏览器兼容性,特别是对IE的改进,确保在各种环境下都能稳定运行。而1.11.3是1.x线的最后一个主要版本,修复了大量问题,确保了长期支持。 接下来,jQuery 2.0版是一个重要的里程...

    bootstrap3.37稳定版本含(js和css)并带有jquery.min的2.1.1版本

    这个稳定版本包含了JavaScript和CSS的核心组件,以及jQuery库的2.1.1版本,使得开发者能够轻松实现丰富的交互性和美观的界面设计。 首先,`bootstrap.min.css`是Bootstrap框架的核心CSS文件,它包含了预定义的样式...

    jquery目前全部版本+ui大全+案例

    它不仅提供了jQuery所有版本的历史记录,还涵盖了完整的jQuery UI库,加上实用的案例,可以方便开发者深入学习和理解这两个工具的使用,提升开发技能,为创建高效、美观的网页应用打下坚实基础。无论是初学者还是...

    jquery-最新版本,支持HTML5

    一、jQuery 1.9.1:稳定与兼容性的强化 jQuery 1.9.1是jQuery库的一个重要里程碑,它在保持与旧版API的兼容性的同时,对代码进行了优化,提升了性能。这次更新的主要目的是删除了一些不再被广泛使用的API,以减少库...

    jquery1.9.1版本压缩与开发使用资源

    jQuery 1.9.1是该库的一个重要版本,它在1.9.0的基础上修复了一些已知问题,提高了稳定性和兼容性。这个版本的目标是保持向后兼容,同时移除一些老旧的API,以便鼓励开发者采用更现代的JavaScript实践。对于那些依赖...

    jquery各个版本

    学习jQuery,尤其是作为新手,可以从最新的稳定版本开始,如jQuery 3.x,因为它包含了所有基本功能和最新优化。随着学习深入,可以回溯到早期版本,了解其发展过程和历史特性。 此外,了解jQuery的插件生态也是关键...

    jquery各版本,jquery1.3-1.7,jquery文件

    jQuery是一款广泛应用于Web开发的JavaScript库,它极大地简化了...通过学习和比较这些版本,开发者不仅可以了解jQuery的历史,也能深入理解JavaScript库的设计思想和最佳实践,从而更好地利用jQuery进行Web开发。

    jquery form插件的各个版本

    - 测试不同版本的`jquery.form.js`在实际项目中的表现,以确定最稳定、功能最全面的版本。 - 考虑项目的需求,如是否需要文件上传功能,或者是否需要特定的API等。 7. **最佳实践**: - 保持jQuery和jQuery Form...

    jQueryEasyUI1.3.6版本

    10. **社区和更新**:jQuery EasyUI 有一个活跃的开发者社区,不断有新的插件和改进被贡献出来,而1.3.6版本意味着它经过了时间的检验,拥有较好的稳定性和社区支持。 总的来说,jQuery EasyUI 1.3.6 是一个强大且...

    jquery 1.5版本类库

    8. **浏览器兼容性**:jQuery 1.5继续保持着广泛的浏览器兼容性,包括对旧版IE的支持,使得开发者能够在多种浏览器环境中稳定地使用jQuery。 9. **文档和社区**:jQuery 1.5的发布伴随着详细的文档更新,帮助开发者...

    jquery最全的版本,从1.32~~1.7.1 应有尽有

    在1.44版本中,jQuery修复了一些已知的bug,并提高了兼容性,尤其在对旧版IE浏览器的支持上,使得jQuery在不同浏览器间的运行更加稳定。 1.5版本引入了 deferred 和 promise 对象,这是jQuery对异步编程模式的一次...

    jQuery 所有版本 最新版为1.5.2

    值得注意的是,虽然这个压缩包包含了从1.0到1.5.2的版本,但jQuery已经发展到了3.x系列,最新的稳定版本可能包含了更多新功能和性能提升。对于新的项目,建议使用较新的版本以获取更好的浏览器兼容性和安全性。然而...

    Jquery-1.11.3版本 jquery-1.11.3.rar

    总的来说,jQuery 1.11.3版本在保持兼容性和易用性的同时,对性能进行了优化,提供了更稳定的API,是前端开发中不可或缺的工具。无论你是初学者还是经验丰富的开发者,理解并熟练运用jQuery 1.11.3将大大提升你的...

    jquery三种版本.zip

    jQuery 3.x系列是当前的稳定版本,它进一步优化了性能并引入了一些新的特性。3.x系列兼容ES6,支持模块化,如CommonJS和AMD规范,这对于现代前端开发框架和工具链集成非常友好。`jquery-3.3.1.js`就是3.3.1版本的...

Global site tag (gtag.js) - Google Analytics