Atitit.jquery 版本新特性attilax總結

Atitit.jquery 版本新特性attilax總結 php

 

1. Jq1.4 1css

2. 1.5 1html

3. 1.6 3前端

4. Jq1.7 3html5

提高了事件委派時的性能有了大幅度的提高,尤爲是在ie7下; 4jquery

更好的在 ie 6/7/8 上支持 html54git

切換動畫更加直觀; 4github

匿名模塊定義 awd 4web

⒍jQuery.Deferred 4ajax

⒎jQuery.isNumeric() 4

5. Jq1.8 5

5.1. jQuery 1.8 5

5.1.1. 可定製 5

5.1.2. 自動生成CSS前綴 5

5.1.3. 動畫 6

5.1.4. Sizzle,選擇器引擎升級 6

5.1.5. XSS保護 6

5.1.6. 全局Ajax事件的綁定 6

5.2. jQuery 1.9 6

5.2.1. XSS保護 6

5.2.2. 移除$.browser$.sub 7

6. 1.10 7

7. 1.11 / 2.1 新特性 7

8. Jq2.0 8

8.1.1. 移除對IE6/IE7/IE8的支持 8

9. 參考 9

 

1. Jq1.4

jQuery 1.4 版本的十五個新特性 站長之家.htm

2. 1.5

1.5新版本
美國時間2012年1月31日John Resig在jQuery官方博客發表文章,宣佈jQuery 1.5正式版已經如期開發完成,能夠下載使用。壓縮版本jQuery Minified29KB,不壓縮版本jQuery Regular(用於閱讀和調試)207KB。因爲jQuery已經成爲目前最流行的JavaScript庫,獲得普遍的支持,新版本的發佈固然很是引人注目。
重要變化:
1. Ajax重寫
Ajax模塊徹底進行了重寫。新增一個jXHR對象,爲不一樣瀏覽器內置的XMLHttpRequest提供了一致的超集。對於XMLHttpRequest以外的傳輸機制,好比jsonp請求,jXHR對象也能夠進行處理。(詳情能夠參見:jQuery.ajax文檔)
此外,系統的可擴展性大大加強,能夠附加各類數據處理器、過濾器和傳輸機制,爲開發新的Ajax插件提供了方便。
2. 延遲對象
延遲對象(Deferred Object,jQuery.Deferred對象)是一個可連接的(chainable)實用工具對象,實現了Promise接口,能夠在回調隊列中註冊多個回調、調用回調隊列並轉發任何同步/異步函數的成敗狀態。正如Using Deferreds in jQuery 1.5一文中說明的,其結果是在jQuery中可以將依賴於某個任務(事件)結果的邏輯與任務自己解耦了。這一點在JavaScript中其實並不新鮮,Mochikit和Dojo等已經實現有些日子了。因爲jQuery 1.5的Ajax模塊內置使用了延遲對象,所以經過jQuery編寫Ajax程序將自動得到這一功能。
開發人員藉此可使用沒法當即得到的返回值(如異步Ajax請求的返回結果),並且第一次可以附加多個事件處理器。
例如,使用了新的jQuery內部Ajax api就能夠實現下面的代碼了:
// Assign handlers immediately after making the request,// and remember the jxhr object for this request var jxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert("second complete"); });
此外,使用jQuery.Deferred還能夠開發本身的延遲對象。更多詳情參見:延遲對象文檔。
3. jQuery.sub()
jQuery 1.5提供了一種建立和修改jQuery副本的方式。能夠用來添加不向外部公開的方法,或者對jQuery的某些方法進行從新定義以提供新功能,或者提供更好的封裝、避免名稱空間衝突。固然,也能夠用來開發插件,但Resig強烈建議在開發插件以前,先考慮jQuery UI widget工廠。
值得注意的是,sub函數並不提供真正的隔離,全部方法、數據、調用仍然依靠jQuery自己來支持。
4. 遍歷性能提升
在新版本中.children(),.pre(),.next()幾個經常使用的遍歷函數性能有了顯著提升。
5. 內部開發系統
John Resig還特別提到了jQuery團隊內部開發系統的兩點改變:一是服務器端用Node.js替換了老的Java/Rhino系統,使得團隊能夠專一於JavaScript環境的新變化;二是所用的代碼優化程序從Google Closure切換到UglifyJS,新工具的壓縮效果很是使人滿意。
jQuery 1.5.2 在1.5的基礎上修正的大量的bug

做者:: 老哇的爪子 Attilax 艾龍,  EMAIL:1466519819@qq.com

轉載請註明來源: http://blog.csdn.net/attilax

 

3. 1.6

jQuery 1.6 正式版發佈了,重寫了 Attribute 模塊和大量的性能改進。

新版本中的部分重要改進:

· attr()val()data()方法有了更好的性能; 

· 在attr()方法中支持Boolean屬性; 

· 添加了鉤子函數,容許對attr()val()方法進行擴展; 

· map()方法添加了對對象的支持(將JavaScript對象的屬性映射到函數) 

· 容許使用相對值(「+=」「-=」)更新CSS; 

· 添加了deferred.always(), deferred.pipe()方法,減小了代碼量,提升了代碼易讀性; 

· 同步動畫 – 如今全部動畫都同步到相同的時間間隔使用新的瀏覽器功能,動畫也更順暢; 

· find()closest()is()可接收全部的DOM元素和JQuery對象做爲參數。 

 

 

 

4. Jq1.7

 

 

同時,因爲 jquery1.4.2 版本發佈時間比較早,基於這版本開發的插件數量龐大,而對應版本的開發社區至關活躍,不少詭異的問題,網上都有對應的解決方案。 

 

從可擴展性來分析吧,不管是 1.7.1 仍是 1.4.2 留給開發擴展的方法只有兩個,分別是 jquery.extend 和 jquery.fn.extend ,一種是添加靜態屬性和方法、一種是對象添加屬性和方法,擴展方式比較簡單,經歷了多個版本,擴展方式都一致,所以在擴展性上面沒什麼可比較的。 

 

 

jQuery 1.7b
2011年09月29日jQuery 1.7 的第一個 beta 測試版本,該版本修復了超過 50 個的問題以及帶來一些新特性。
2011年11月4日jQuery1.7正式版發佈。
新版本包含了不少新的特徵,特別提高了事件委派時的性能尤爲是在ie7下。
新增及改進項:
新的事件 apis: .on() and .off()


提高了事件委派時的性能有了大幅度的提高,尤爲是在ie7下;


更好的在 ie 6/7/8 上支持 html5


切換動畫更加直觀;


匿名模塊定義 awd


⒍jQuery.Deferred


⒎jQuery.isNumeric()


被刪除的方法:
event.layerX and event.layerY
jQuery.isNaN()
2012年03月24日jQuery 1.7.2正式版發佈。
該版本在1.7.1的基礎上修復了大量的bug,並改進了部分功能。而相比於1.7.2 RC1,只修復了一個bug。值得注意的是:若是你正在使用jQuery Mobile,請使用最新的jQuery 1.7.2和jQuery Mobile 1.1這兩個版本,由於以前的jQuery Mobile版本還基於jQuery core 1.7.1或更早的版本。

 

 

5. Jq1.8

 

2012年11月14日 jQuery 1.8.3 發佈,修復 bug 和性能衰退問題
ie8中的html相關Bug
jQuery 1.8.2在ie9中調用ajax失敗的問題
jQuery 1.7.1不能正確地設置ie7中克隆元素的tabindex屬性
壓縮的JS文件包含非ascii字符
若是body樣式設置爲display:none,則$('body').show()沒法工做
ie9中element.css('filter')返回不明確
在Android 2.3.4的瀏覽器中,jQuery 1.8.1轉場效果崩潰
在iPad上縮放一個燈箱效果後,全部動畫效果失效
從1.3.2升級到1.8.2版本後,出現Uncaught TypeError錯誤
在Chrome和Safari中,沒法正確檢測包含可編輯內容的div的焦點
2

 

 

 

5.1. jQuery 1.8

5.1.1. 可定製

jQuery 1.8中如今能夠定製本身的jQuery版本,你能夠移除不須要的模塊從而使得jQuery儘量得變小。可選模塊包括ajaxcssdimensioneffectoffset,下面是移除因此可選模塊的例子:

git clone git://github.com/jquery/jquery.git
cd jquery && npm install
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset

這樣將能獲得一個大約21KBjQuery。固然這個特性適用於高級的用戶,你必須理解你項目中第三方插件所依賴的部分。

5.1.2. 自動生成CSS前綴

$.css()自動使用無前綴的屬性名並生成適用於當前瀏覽器的前綴。Web開發者再也不須要擔憂各類瀏覽器特定的屬性名。好比在Chrome中
,jQuery調用$(「#myscroll」).css(「marquee-direction」,」backwards」)將設置CSS爲-webkit-marquee-direction:backwards。 

5.1.3. 動畫

jQuery動畫代碼已經被整理過,並有所加強。如今能夠更簡單地添加和刪除動畫。若是你須要支持沒有內置動畫的過去的瀏覽器,新的$.Animation提供了固定的函數。若是你僅須要支持最新的瀏覽器,使用它們原生支持的動畫,你能夠跳過整個動畫模塊。 

5.1.4. Sizzle,選擇器引擎升級

Sizzle是jQuery的CSS選擇器引擎,在1.8中被大幅重寫過。由此帶來了選擇匹配上的性能加強,以及對經常使用選擇器的快捷改善。 

5.1.5. XSS保護

jQuery 1.8引入了新的$.parseHTML方法,能夠以HTML形式指定輸入方式。.$parseHTML提供瞭解析HTML爲DOM片斷的方式並控制腳本的執行。強烈推薦使用$.parseHTML,特別是對從非安全資源中取得的輸入。 

5.1.6. 全局Ajax事件的綁定

全局ajax事件,好比由$.ajax觸發的ajaxStart此前能夠被綁定在任意元素上,甚至是不在document中的元素。這會產生低效的使用方 式,所以該行爲在jQuery 1.8中已通過期了。而在jQuery1.9中,ajax事件將只能被綁定到document上。 

5.2. jQuery 1.9

jQuery 1.9預期將在2013初發布。

5.2.1. XSS保護

$()方法若是傳入<script>標籤能夠建立HTML元素並運行腳本。開發者有時會忘了這點,將非安全處取得的資源傳入jQuery中從 而致使了cross-site-scripting(XSS)的攻擊。在jQuery 1.9中,$()方法更嚴格地限制了傳入規則,字符串只有當首字母是「<」符號時纔會被認爲是HTML,不然會被看成是CSS選擇器。 

5.2.2. 移除$.browser$.sub

$.browser在jQuery 1.3中被廢棄,並將在jQuery 1.9中被移除。開發者能夠換用$.support或者直接讀取navigator.userAgent。 

$.subjQuery 1.7中被廢棄,一樣也將在jQuery 1.9中被移除。該函數新建jQuery的副本,對它屬性或方法的修改不會影響原先的jQuery對象。但這個函數並未被證實是有用的,因此移到了1.9 的兼容插件裏。這樣jQuery 1.9文件的尺寸會變得更小。

 

 

6. 1.10

該版本包含了最初在jQuery 2.0中引入的一些小的改進,並修復了1.9.1版本中出現的bug。 

除此以外,該版本還放寬了$()中HTML處理的條件,容許出現前導空格和換行符。對於來自外部源的HTML,仍然建議使用$.parseHTML()。將來jQuery版本將會對$(string)進行嚴格的限制,以免跨站腳本攻擊(XSS)。 

因爲1.10版本沒有什麼大的變化,對於已經升級到1.9/2.0版本的用戶,能夠很容易地遷移至該版本。若是尚未升級到這兩個版本,能夠參閱jQuery 1.9升級指南,並藉助 jQuery遷移插件

7. 1.11 / 2.1 新特性

Beta 版本的新特性包括:

· 異步模塊定義 Asynchronous Module Definition (AMD)

· 經過 npm 發佈

· 性能提高

· bug 修復

 

8. Jq2.0

 

2013年3月 jQuery 2.0 Beta 2 發佈
據jQuery官方博客3月消息,jQuery 2.0 Beta 2 發佈。
根據用戶對jQuery 2.0 Beta 1 版本的反饋,Beta 2 版作了一些修改。jQuery官方表示,很是須要用戶來測試 Beta 2 版,最好同時也能向他們反饋提交建議。
他們相信,Beta 2 版已很是穩定,值得一試,不須要等 2.0 的最終版本。
jQuery 團隊在官博中再次提醒用戶,jQuery 2.0 再也不支持ie 6/7/8 了,可是 jQuery 1.9 會繼續支持。由於舊版 ie 瀏覽器在整個互聯網中還有很大部分市場,因此他們很是指望大部分網站能繼續使用 jQuery 1.x 一段時間。jQuery 團隊也將同時支持 jQuery 1.x 和 2.x 。1.9 和 2.0 版的 api 是相同的,因此沒必要由於大家網站還在用 jQuery 1.9,就感受好像錯過了什麼,或者是落後了。
若是你想繼續支持 ie 6/7/8,而且又想嘗試 jQuery 2.0,那你能夠額外加上一些代碼。除了老版的 ie,其餘全部瀏覽器都將使用第二腳本,忽略第一個。
在不少環境中,jQuery 2.0 應當都表現的很好。以下:
Google Chrome plugins
Mozilla XUL apps and Firefox extensions
Firefox os apps
Chrome os apps
Windows 8 Store (「Modern/Metro UI」) apps
BlackBerry 10 WebWorks apps
PhoneGap/Cordova apps
Apple UIWebView class
Microsoft WebBrowser control
Cheerio or jsdom with Node.js
Intranet applications
2013年4月18日 jQuery 2.0正式版發佈
再也不支持IE 6/7/8:若是在IE9/10版本中使用「兼容性視圖」模式也將會受到影響。
更輕更快:2.0版本文件與1.9.1相比小了12%。
能夠構建一個更小、更輕量的版本。
jQuery 2.0 API徹底兼容jQuery 1.9 API。
jQuery 1.9.1漢化版2013年2月23日發佈,由網友翻譯非官方

 

 

這個版本一樣會在2013年初發布,緊跟在1.9的發佈以後。

8.0.1. 移除對IE6/IE7/IE8的支持

jQuery 2.0將支持與jQuery 1.9相同的API,並沒有多大的特性增長,但會移除對IE 6/7/8的支持。正由於支持相同的API1.92.0之間是能夠互換的。jQuery 2.0更小,更快捷,不會有IE 6/7/8帶來的問題,若是須要支持IE 6/7/8,就選擇1.9。你能夠經過條件註釋在使用IE 6/7/8時選擇jQuery 1.9

 

 

 

9. 參考

 

jquery兩穩定版本比較~~ - - ITeye技術網站.htm

jQuery 1.4 版本的十五個新特性 - 站長之家.htm

jQuery 1.6 正式版發佈 - 開源中國社區.htm 

jQuery 1.8,1.9和2.0分別帶來的新特性 - 無意的專欄 - 博客頻道 - CSDN.NET.htm

jQuery 1.10 測試版發佈 - Web前端 - ITeye資訊.htm

jQuery 1.11.0_2.1.0 Beta 2 新特性 樂嵌網.htm

相關文章
相關標籤/搜索