jQuery 2.2 和 1.12 新版本釋出

segmentfault.com發表於2016-01-11

  新年新氣象,jQuery 團隊於昨日釋出了兩個新版本:1.12 和 2.2。這兩個版本都包含了大量的Bug修正和功能改進。基本上這會是3.0之前最後一次釋出。不過由於3.0不做向下相容,所以屆時 jQuery 團隊仍然會繼續維護這兩個版本,當然肯定只做Bug修正。關於3.0的訊息將在不久之後公佈。

  那麼新版本都有些什麼變化呢?

 效能提升

  此版本縮短了 Sizzle 的引用路徑,這樣當原生 querySelectorAll 和 matchesSelector 無法使用時,可以帶來效能提升。在生產環境中效果明顯。

 新功能

  小升級很多,這裡只揀要緊的說。

  SVG 的類操作

  作為 HTML 庫,支援 SVG 元素是理所應當的。新版本里大家就可以使用 .addClass() 、 .removeClass() 、 .toggleClass() 、 .hasClass() 操作 SVG 物件的 class 了。不過需要注意的是,因為 SVG 和 HTML 還是有很多不同,所以如果真的要進行復雜操作,還是選用其它更專業的類庫比較好。

  jQuery.post 和 jQuery.get 支援物件引數

  如題:

  jQuery.post({ url: “/example” });

  這樣一來好處還比較多,比如設定回撥函式的 context,或者跨域 post 時可以 withCredential: true。

  新運算子支援

  支援 ES6/ES2015 引入的新運算子, jQuery 物件可以用 for-of 遍歷了。

  for (element of $elements) { console.log(element); }

  jQuery.htmlPrefilter()

  HTML5不要求標籤必須閉合,但是XML要求。這個函式就是用來作轉換的。這樣我們使用 .html() 、 .append() 、.replaceWith() 時就不需要人工轉換了。進而,我們也就不需要那麼嚴格的校驗輸入了。

  jQuery.uniqueSort()

  jQuery.unique() 命名有點問題,沒能體現排序,所以這次改名為 jQuery.uniqueSort()。jQuery.unique() 仍然保留,不過文件中將只記錄後者。

  這個函式專注於 DOM 節點的排序和排重,請勿亂用。

 總結

  這個版本理論上沒有太大變化,可以平滑升級。不過如果誰還是臉黑遇到什麼問題,也請彙報給官方

 具體變化

  就不一一翻譯了,想了解的可以看原文:jQuery 2.2 and 1.12 Released

相關文章