jquery兩穩定版本比較

2021-09-01 06:57:27 字數 3167 閱讀 3692

jquery歷經了多個版本的更新,版本上的比較貌似沒什麼必要性,一般來說新的版本會比舊的版本各方面都略有提公升,但由於新版中增加了各種新的功能,難免會引起bug的發生。評估乙個版本是否適合當前開發場景使用,通過多幾方面來衡量比較靠譜。以下我選用業界中比較穩定兩個jquery來進行對比,它們分別是1.4.2版本以及1.7.1版本來 。

1.  效能上的分析

1.1頻寬比較

1.4.2體積為71k,1.7.1體積為92k,壓縮後的體積相差無幾,現金的網路情況可忽視21k的差距。

1.2各瀏覽器上的效能比較

本次效能測試並沒有覆蓋所有的瀏覽器,只選用當前比較流行的幾個版本,包括了:ie6、ie8、ff11、chrome 18

測試用例:

在1秒裡迴圈執行以下測試用例

get - class 1.4.2	var item = $142(".buttonref");

get class1.7.1 var item = $171(".buttonref");

context-class 1.4.2 var item = $142(".buttonref", context42);

context-class 1.7.1 var item = $171(".buttonref", context71);

find-class 1.4.2 var item = context42.find(".buttonref");

find-class 1.7.1 var item = conttext71.find(".buttonref");

其執行結果就不一一顯示出來,感興趣的童鞋們可以到

具體檢視各瀏覽器的效能比較。

簡略彙總了各瀏覽器的資料:單位:(ops/sec)

總的來說, jquery1.7.1 除了在 ie6 上效能沒太大的差別以外,在其它三個瀏覽器均有較大效能的提公升。

2.穩定性分析

js 穩定性,起碼保證瀏覽器在執行 jquery

的時候不會奔潰,同時我們從其發布策略以及其下個版本有沒重大 bug

修復來來衡量哪個版本比較穩定。

首先看看兩個版本各自發布的時間,同時它們各自跟下個版本的發布時間間距。

jquery 1.4.2  posted february 19th, 2010 by john resig

jquery 1.4.3 posted october 16th, 2010 by john resig

changelog :

jquery 1.7.1 posted november 3rd, 2011 by dmethvin

jquery 1.7.2 posted march 21st, 2012 by dmethvin

changelog:

從發布時間間距和更改日誌來說, 1.4.2

版本更穩定點。

3.功能上分析

1.7.1新增的方法 

removedata([name|list]) (支援以陣列為引數的批量操作)

屬性:(新增)

prop(name|pro|key,val|fn)

removeprop(name)

選擇器:(新增)

focus1.6+

篩選:(過載了方法)

is(expr|obj|ele|fn)1.6*

closest(expr,[con]|obj|ele)1.6*

nextuntil([exp|ele][,fil])1.6*

parentsuntil([exp|ele][,fil])1.6*

prevuntil([exp|ele][,fil])1.6*

事件:(新增)

on(eve,[sel],[data],fn)1.7+

off(eve,[sel],[fn])1.7+

delegate(sel,[type],[data],fn)

undelegate([sel,[type],fn])1.6*

deferred:

新增了整個模組

工具:(過載了方法)

$.map(arr|obj,callback)1.6*

總的來說, jq1.7.2

過載了不少方法,也新增了一些方法,但對於我們日常開發來說都不是太常用,當然功能更多我們有更多的選擇,不過相對來說跟 jq1.4.2

沒有太多的優越性。

4.可擴充套件性、相容性分析

由於 jquery

的版本都是不向後相容的,導致了基於 jquery

開發的外掛程式相容性有問題,當新版本的 jquery

推出後,如果開發想公升級的話,要看外掛程式是否支援。通常情況下,在最新版 jquery

版本下,現有外掛程式可能無法正常使用。開發者使用的外掛程式越多,這種情況出現概率越高。

同時,由於 jquery1.4.2

版本發布時間比較早,基於這版本開發的外掛程式數量龐大,而對應版本的開發社群相當活躍,很多詭異的問題,網上都有對應的解決方案。

從可擴充套件性來分析吧,無論是 1.7.1

還是 1.4.2

留給開發擴充套件的方法只有兩個,分別是 jquery.extend

和 jquery.fn.extend

,一種是新增靜態屬性和方法、一種是物件新增屬性和方法,擴充套件方式比較簡單,經歷了多個版本,擴充套件方式都一致,因此在擴充套件性上面沒什麼可比較的。

5.結論

綜上所述, jquery1.7.1

的版本在多數瀏覽器上的效能表現無疑比 jquery1.4.2

更好,而穩定性和相容性方面 jquery1.4.2

更出色點,其它地方基本沒什麼差距。

從我們目前前端開發情況來說吧,引用到第三方的擴充套件庫相對來說比較少,而 1.4.2

的版本是當前最好的選擇。

在ubuntu上安裝最新穩定版本的node及npm

背景通過ubuntu官方apt安裝工具安裝的node是最新lts版本的,而本人是個有點強迫症的人,喜歡追求新的東西,也就是想方設法想要去安裝最新版本的node,所以本文也就產生了,附上ubuntu安裝node和npm的命令列命令 sudo apt install nodejs legacy sudo...

在ubuntu上安裝最新穩定版本的node及npm

背景 通過ubuntu官方apt安裝工具安裝的node是最新lts版本的,而本人是個有點強迫症的人,喜歡追求新的東西,也就是想方設法想要去安裝最新版本的node,所以本文也就產生了,附上ubuntu安裝node和npm的命令列命令 sudo apt install nodejs legacy sud...

在ubuntu上安裝最新穩定版本的node及npm

背景 通過ubuntu官方apt安裝工具安裝的node是最新lts版本的,而本人是個有點強迫症的人,喜歡追求新的東西,也就是想方設法想要去安裝最新版本的node,所以本文也就產生了,附上ubuntu安裝node和npm的命令列命令 sudo apt install nodejs legacy sud...