jQuery 版本 1、版本 2 和版本 3 之间有什么区别?[已关闭]

2022-08-30 04:40:04

我最近偶然发现了一个使用jQuery版本2的页面设计,我正在使用jQuery版本1。webchart.js

为了让代码工作,现在使用它来使用最新版本,然后我检查了jQuery核心支持,他们已经发布了jQuery 3。

我现在正在考虑使用版本3,但我正在寻找版本3是否存在兼容性问题,它可能只能在特定设备上使用。


答案 1

主要版本

版本 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/


答案 2