之前我寫過一篇文章叫做《jq不會被淘汰》……而事實上它真的不會被淘汰,因為即使在mvvm框架盛行的今天,原生js的api越來越友好的今天,jq依然在用戶量上是霸主…… 但是今天我們要討論的是,拋棄jq,擁抱原生js…… 再說正題之前,我們先來看看jq比js,解決了哪些問題,哪裡更優秀 1.首當其衝是 ...
之前我寫過一篇文章叫做《jq不會被淘汰》……而事實上它真的不會被淘汰,因為即使在mvvm框架盛行的今天,原生js的api越來越友好的今天,jq依然在用戶量上是霸主……
但是今天我們要討論的是,拋棄jq,擁抱原生js……
再說正題之前,我們先來看看jq比js,解決了哪些問題,哪裡更優秀
1.首當其衝是瀏覽器相容,jq本身做了很多瀏覽器的相容,這導致了它的代碼變得臃腫,但是不得不說,這方面jq做的很好√
2.語法比較簡潔,jq的代碼語法是很簡潔的,因為層層封裝後,為的就是易用
3.jq封裝的ajax方法很好用,平時我們做前後端分離的時候,請求數據是必不可少的,jq的ajax就比較優雅,而同樣的,如果是原生js,寫一個ajax代碼量可不少……
我說我們應該拋棄jq,擁抱原生,其實不是瞎說的……
首先,ie瀏覽器用戶越來越少,如今已經很少很少了,就算一般人的瀏覽器裝了ie內核的,它們多半也有個極速模式……那就是谷歌內核的……
所以為了那一丟丟的用戶,瀏覽器向下相容變得不那麼重要了……
與其做相容,不如做引導,如ie下提示更換瀏覽器……
然後第二點,關於代碼語法啥的,的確jq的語法很簡潔,也長的比較好看,比如相同的操作一個id
jq:$('#id') 原生:document.getElementById('id')
可以看到,雖然原生js的代碼比較長,但是語義化很好啊,一看就知道get element by id ,就是取元素通過id……這理應是我們該提倡的……雖然dom多了會變得不好看,但是……
一旦dom操作很多了就不提倡操作dom了,更提倡vue、react這種不直接操作dom(操作虛擬dom)的方案了……
然後關於ajax,jq的確封裝了比較好用的方法,原生不太方便,但是現在我個人比較提倡fetch,而不是ajax,所以原生js里完全可以直接fetch替代ajax
所以jq的這個優勢也不復存在了……
然後再說一下原生js的好處
首先就是性能好,這個真的沒得說,畢竟是原生……
然後,原生js的api也在更新,現在的很多api都比較新比較能接受了……
再就是,在mvvm框架盛行的今天,我們不可能在這些框架里引入jq,但是卻可以天然的寫原生js沒毛病……
所以……綜上所述……
僅代表個人觀點哈,不接受反駁(⊙o⊙)…
目前在寫的個人項目的後臺部分就是原生js的技術桟,甚至都沒有用vue,畢竟後臺嘛,簡陋點沒啥的√