jQuery 版本 1、版本 2 和版本 3 之间有什么区别?[已关闭]
我最近偶然发现了一个使用jQuery版本2的页面设计,我正在使用jQuery版本1。webchart.js
为了让代码工作,现在使用它来使用最新版本,然后我检查了jQuery核心支持,他们已经发布了jQuery 3。
我现在正在考虑使用版本3,但我正在寻找版本3是否存在兼容性问题,它可能只能在特定设备上使用。
我最近偶然发现了一个使用jQuery版本2的页面设计,我正在使用jQuery版本1。webchart.js
为了让代码工作,现在使用它来使用最新版本,然后我检查了jQuery核心支持,他们已经发布了jQuery 3。
我现在正在考虑使用版本3,但我正在寻找版本3是否存在兼容性问题,它可能只能在特定设备上使用。
主要版本
版本 1.0:第一个稳定版本。
版本 2.0:放弃 IE 6–8 支持,以提高性能并减少文件大小
版本 3.0:承诺/A+ 支持延迟,与 HTML5 兼容$.ajax
$.when
.data()
所有版本
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| Version Number | Release Date | Latest Update | Size Prod (KB) | Additional Notes |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| 1.0 | August 26, 2006 | | | First stable release |
| 1.1 | January 14, 2007 | | | |
| 1.2 | September 10, 2007 | 1.2.6 | 54 | |
| 1.3 | January 14, 2009 | 1.3.2 | 55.9 | Sizzle Selector Engine introduced into core |
| 1.4 | January 14, 2010 | 1.4.4 | 76 | |
| 1.5 | January 31, 2011 | 1.5.2 | 83 | Deferred callback management, ajax module rewrite |
| 1.6 | May 3, 2011 | 1.6.4 | 89 | Significant performance improvements to the attr() and val() functions |
| 1.7 | November 3, 2011 | 1.7.2 (March 21, 2012) | 92 | New Event APIs: .on() and .off(), while the old APIs are still supported. |
| 1.8 | August 9, 2012 | 1.8.3 (November 13, 2012) | 91.4 | Sizzle Selector Engine rewritten, improved animations and $(html, props) flexibility. |
| 1.9 | January 15, 2013 | 1.9.1 (February 4, 2013) | 90 | Removal of deprecated interfaces and code cleanup |
| 1.10 | May 24, 2013 | 1.10.2 (July 3, 2013) | 91 | Incorporated bug fixes and differences reported from both the 1.9 and 2.0 beta cycles |
| 1.11 | January 24, 2014 | 1.11.3 (April 28, 2015) | 95.9 | |
| 1.12 | January 8, 2016 | 1.12.4 (May 20, 2016) | 95 | |
| 2.0 | April 18, 2013 | 2.0.3 (July 3, 2013) | 81.1 | Dropped IE 6–8 support for performance improvements and reduction in filesize |
| 2.1 | January 24, 2014 | 2.1.4 (April 28, 2015) | 82.4 | |
| 2.2 | January 8, 2016 | 2.2.4 (May 20, 2016) | 85.6 | |
| 3.0 | June 9, 2016 | 3.0.0 (June 9, 2016) | 86.3 | Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible |
| 3.1 | July 7, 2016 | 3.1.1 (September 23, 2016) | 86.3 | jQuery.readyException added, ready handler errors are now not silenced |
| 3.2 | March 16, 2017 | 3.2.1 (March 20, 2017) | 84.6 | Hotfixes for regressions that were introduced in the 3.2.0 |
| 3.3 | January 19, 2018 | 3.3.1 (January 20, 2018) | 84.8 | Deprecation of old function calls, functions that accept classes now support them |
| | | | | defined in an array |
| 3.4 | April 10, 2019 | 3.4.1 (May 1, 2019) | 86.1 | Performance improvements, nonce and nomodule support, fixes for radio elements, a |
| | | | | minor security fix |
| 3.5 | April 10, 2020 | 3.5.1 (May 4, 2020) | 87.4 | Security fixes, .even() & .odd() methods, jQuery.trim deprecated |
| 3.6 | March 2, 2021 | 3.6.0 (March 2, 2021) | 90.0 | Bug fixes, return JSON when there is a JSONP error |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
参考资料: https://en.wikipedia.org/wiki/JQuery#Release_history
主要版本详细说明
1.0版是jQuery的第一个稳定版本。此版本支持较旧的 Web 浏览器,这些浏览器甚至不再受其各自开发人员的支持。如果您预计会有大量访问者使用较旧的Web浏览器,那么这绝对是要选择的版本。
版本2.0放弃了对Internet Explorer 6-8的支持,以提高jQuery的整体性能并减小库的文件大小。简而言之:版本2.0比版本1.0更快,文件大小更小,但它不再支持较旧的Web浏览器。由于Microsoft放弃了对Windows XP的支持,因此假设您的访问者将使用与2.0版本兼容的浏览器是相当安全的,除非您事先知道情况并非如此(请参阅版本1.0)。
随着 3.0 版的发布,1.11.1 和 2.1.1 版都将升级到 jQuery Compat 3.0 和 jQuery 3.0。jQuery Compat 3.0仍将支持较旧的浏览器,如Internet Explorer 8,而常规版本3.0仅支持常青浏览器(特定浏览器的当前和以前版本)。
随着版本3.0的发布,没有理由坚持使用版本1.0或2.0。来自官方jQuery博客的一些说明:
- 如果您需要支持最广泛的浏览器,包括IE8,Opera 12,Safari 5等,请使用jQuery-Compat 3.0.0软件包。我们建议大多数网站使用此版本,因为它为所有网站访问者提供了最佳的兼容性。
- 如果您的网站仅为常青前沿浏览器构建,或者是包含在Web视图(例如PhoneGap或Cordova)中的基于HTML的应用程序,您知道正在使用哪些浏览器引擎,请选择jQuery 3.0.0包。
- 除非我们另行宣布,否则这两个包将在相应编号的主要和次要版本中包含相同的公共 API。这应该使开发人员能够轻松地在两者之间切换,并与第三方jQuery插件最大限度地兼容。
参考资料: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/