jQuery不同版本的兼容性及差异汇总(版本选择建议) (转载)

  • 2021-03-23 06:41
  • by 刘管家
  • 11165
  • 0
  • 0
  • jquery

  

    jQuery 自 2006 年诞生以来,一个发行了 1.x、2.x、3.x 这三个大版本。而在这三个大版本下又细分了许多小版本。可能有些小伙伴不太清楚这些版本有什么区别?实际开发中应该选用哪个版本?下面我对其做个总结。

一、1.x、2.x、3.x 三大系列的区别

1,IE 的支持情况比较

(1)情况分析

  • 1.x:支持 ie6、ie7、ie8

  • 2.x、3.x:不支持 ie6、ie7、ie8

(2)选择建议

  • 如果需要兼容 ie678:只能选择 1.x

  • 如果不需要兼容 ie678:可以选择 2.x、3.x。因为 1.x 中有大部分代码是对老旧浏览器做的兼容,这个就增加了运行的负担,影响了运行效率。

2,插件的支持情况比较

(1)情况分析

  • 由于 jQuery 的版本都是不向后兼容的,导致了基于 jQuery 开发的插件会有兼容性问题。也就是说当新版本的 jQuery 推出后,原有的插件可能无法正常使用,需要插件作者重新开发新版本。

(2)选择建议

  • 为了保证与各种插件有更好的兼容性可以选择 1.x 的版本。

3,新特性比较

(1)2.x 相较于 1.x 没有增加什么新特性,主要是去除了 ie678 的支持,提升了性能,减小了体检。

(2)3.x 相较于之前版本,增加了许多新特性,也改变一些以往的特性,具体可以参考我之前写的这篇文章:

二、具体版本建议

1,版本历史

版本号 发布日期 最新更新 大小(KB) 备注
1.0 2006年8月26日

第一个稳定版本
1.1 2007年1月14日


1.2 2007年9月10日 1.2.6 54
1.3 2009年1月14日 1.3.2 55.9 将 Sizzle 选择器引擎引入核心
1.4 2010年1月14日 1.4.4 76
1.5 2011年1月31日 1.5.2 83 延迟回调管理,ajax 模块重写
1.6 2011年5月3日 1.6.4 89 显著改善 attr() 与 val() 的性能
1.7 2011年11月3日 1.7.2 (2012年3月21日) 92 新的事件 API:.on() 和 .off(),而旧的 API 仍然支持。
1.8 2012年8月9日 1.8.3 (2012年11月13日) 91.4 重写 Sizzle 选择器引擎,改善动画和 $(html, props) 的灵活性。
1.9 2013年1月15日 1.9.1 (2013年2月4日) 90 移除弃用接口,清理代码
1.10 2013年5月24日 1.10.2 (2013年7月3日) 91 修复了 1.9 和 2.0 beta 版本周期的 bug 和差异
1.11 2014年1月24日 1.11.3 (2015年4月28日) 95.9
1.12 2016年1月8日 1.12.4 (2016年5月20日) 95
2.0 2013年4月18日 2.0.3 (2013年7月3日) 81.1 除去对 IE 6-8 的支持以提高性能,并降低文件大小
2.1 2014年1月24日 2.1.4 (2015年4月28日) 82.4
2.2 2016年1月8日 2.2.4 (2016年5月20日) 85.6
3.0 2016年6月9日 3.0.0 (2016年6月9日) 86.3 Deferred、$.ajax、$.when 支持 Promises/A+,令 .data() 兼容HTML5
3.1 2016年7月7日 3.1.1 (2016年9月23日) 86.3 加入 jQuery.readyException,ready handler 错误现在不会不显示了
3.2 2017年3月16日 3.2.1 (2017年3月20日) 84.6 增加了对检索<template>元素内容的支持,弃用了多种旧方法。
3.3 2018年1月19日 3.3.1 (2018年1月20日) 84.8 弃用旧函数,函数现在可以接受类,并支持其写成数组格式。

2,1.x 常用版本

  • 1.4.2:稳定性和兼容性都很出色,插件最多,但性能不如下面后面的几个版本。

  • 1.7.2:性能提升,插件第二多,ajax 和 attr 等 api 有少许修改。

  • 1.8.3:最后一个支持 IE6 的稳定版

  • 1.9.1:开始移除了不少方法,事件绑定推荐使用 on 方法一个代替所有的。

  • 1.12.4:1.x 时代最后一个稳定版本,仅支持 IE8,不支持 IE6/7。

3,2.x、3.x 版本

除非有特殊要求(比如面向移动端),一般情况下这两大版本使用人的确很少:

  • 2.x 最后一个稳定版本:2.2.4

  • 3.x 最新版本:3.3.1


注:本文来源:转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。


评论