以前我寫過一篇文章叫作《jq不會被淘汰》……而事實上它真的不會被淘汰,由於即便在mvvm框架盛行的今天,原生js的api愈來愈友好的今天,jq依然在用戶量上是霸主……vue
可是今天咱們要討論的是,拋棄jq,擁抱原生js……react
再說正題以前,咱們先來看看jq比js,解決了哪些問題,哪裏更優秀ajax
1.首當其衝是瀏覽器兼容,jq自己作了不少瀏覽器的兼容,這致使了它的代碼變得臃腫,可是不得不說,這方面jq作的很好√後端
2.語法比較簡潔,jq的代碼語法是很簡潔的,由於層層封裝後,爲的就是易用api
3.jq封裝的ajax方法很好用,平時咱們作先後端分離的時候,請求數據是必不可少的,jq的ajax就比較優雅,而一樣的,若是是原生js,寫一個ajax代碼量可很多……瀏覽器
我說咱們應該拋棄jq,擁抱原生,其實不是瞎說的……框架
首先,ie瀏覽器用戶愈來愈少,現在已經不多不多了,就算通常人的瀏覽器裝了ie內核的,它們多半也有個極速模式……那就是谷歌內核的……前後端分離
因此爲了那一丟丟的用戶,瀏覽器向下兼容變得不那麼重要了……dom
與其作兼容,不如作引導,如ie下提示更換瀏覽器……mvvm
而後第二點,關於代碼語法啥的,的確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,畢竟後臺嘛,簡陋點沒啥的√