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

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

1,IE 的支持情况比较

(1)情况分析

1.x:支持 ie6、ie7、ie82.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 相较于之前版本,增加了许多新特性,也改变一些以往的特性,具体可以参考我之前写的这篇文章:

jQuery - jQuery3的新特性汇总(附样例)

二、具体版本建议

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

增加了对检索