javascript - Vad är skillnaden mellan jQuery version 1, version 2 och version 3?
Jag råkade nyligen snubbla över en sida webchart.js designad med jQuery version 2, och jag använder jQuery version 1.
För att koden ska fungera, se till att nu använda den senaste versionen, sedan kontrollerade jag jQuerys kärnstöd och de har släppt jQuery 3.
Jag funderar på att använda version 3 nu, men jag letar efter om version 3 har kompatibilitetsproblem, att den kanske bara kan användas på specifika enheter.
Svar #1
Huvudversioner
Version 1.0: Första stabila releasen.
Version 2.0: Droppade stöd för IE 6-8 för prestandaförbättringar och minskning av filstorlek
Version 3.0: Supports Promises/A+ för Deferreds, $.ajax och $.when, .data() HTML5-kompatibel
Alla versioner
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| 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 |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
Referens: https://en.wikipedia.org/wiki/JQuery#Release_history
Detaljerad förklaring om huvudversioner
Version 1.0 var den första stabila utgåvan av jQuery. Denna utgåva stödjer äldre webbläsare som inte ens längre stöds av deras respektive utvecklare. Om du förväntar dig ett stort antal besökare med äldre webbläsare, skulle detta definitivt vara versionen att välja.
Version 2.0 slutade stödja Internet Explorer 6-8 för att öka jQuerys övergripande prestanda och minska bibliotekets filstorlek. Enkelt uttryckt: Version 2.0 är snabbare och mindre i filstorlek än version 1.0, men den stöder inte längre äldre webbläsare. Eftersom Microsoft slutade stödja Windows XP är det rimligt att anta att dina besökare kommer att använda en webbläsare kompatibel med version 2.0, såvida du inte i förväg vet att detta inte kommer att vara fallet (se version 1.0).
Med lanseringen av version 3.0 kommer både versionerna 1.11.1 och 2.1.1 att uppgraderas till jQuery Compat 3.0 och jQuery 3.0. jQuery Compat 3.0 kommer fortfarande att stödja äldre webbläsare som Internet Explorer 8, medan den vanliga versionen 3.0 endast kommer att stödja evergreen-webbläsare (nuvarande och tidigare versioner av en specifik webbläsare).
Med lanseringen av Version 3.0 finns det ingen anledning att hålla sig till varken version 1.0 eller 2.0. Några anteckningar från den officiella jQuery-bloggen:
- Om du behöver stöd för det största antalet webbläsare, inklusive IE8, Opera 12, Safari 5 och liknande, använd jQuery-Compat 3.0.0-paketet. Vi rekommenderar denna version för de flesta webbplatser, eftersom den ger den bästa kompatibiliteten för alla webbplatsbesökare.
- Om din webbplats endast är byggd för moderna och ständigt uppdaterade webbläsare, eller är en HTML-baserad app som körs i en webview (till exempel PhoneGap eller Cordova) där du vet vilka webbläsarmotorer som används, gå för jQuery 3.0.0-paketet.
- Tills vi meddelar annat kommer båda paketen att innehålla samma publika API:er i motsvarande numrerade större och mindre versioner. Detta bör göra det enkelt för utvecklare att växla mellan de två och vara maximalt kompatibla med tredjeparts jQuery-plugins.
Referens: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/
