jQuery簡介

jQuery并不是一個framework,只是一個library,它勝在將DOM樹查找、事件綁定監(jiān)聽、瀏覽器兼容性完美結(jié)合在一起。

參考jQuery 解決了怎樣的問題?
jQuery 解決了 Web 發(fā)展中一個時代的問題,此時已隱退二線。
剛開始 JS 就是一門腳本語言,提供的 API 并不完善,可以說自身語言能力十分薄弱,因而 Prototype 這個庫風(fēng)靡一時,它的出現(xiàn)就是為了完善 JS 語言上的不足。
隨著 Ajax 的興起,Web 需求越來越旺盛,當(dāng)時也出現(xiàn)了 Gmail 這類龐大、好用的 Web 應(yīng)用,Web 正式進入 2.0 時代。而與此同時,瀏覽器各廠商之間也開始了市場爭奪戰(zhàn),不同瀏覽器奉行各自一套 Web 標(biāo)準(zhǔn),導(dǎo)致 JS API 很不一致,開發(fā)者需要花費大量時間兼顧多個瀏覽器。此時,jQuery 順勢而生。
jQuery 良好地屏蔽了各瀏覽器之間的差異,同時也將鏈?zhǔn)秸{(diào)用這種 DSL 絲滑地融進了前端的日常編碼中,隨著 jQuery 地位的不斷攀升,它漸漸地成為前端開發(fā)者必不可少的開發(fā)利器,并出現(xiàn)了一大批 jQuery 的維護者和使用者,成千上萬 jQuery 使用者向社區(qū)提交組件,形成了一個「DOM 操作世界」中繁華的社區(qū)。
然而,近些年,各瀏覽器廠商之間的合(tuǒ)作(xié),產(chǎn)出了高度一致的 Web 開發(fā)標(biāo)準(zhǔn),在瀏覽器的升級迭代過程中,基本上磨平了 JS API 的差異,與此同時,也提升了語言自身的能力和 JS 對宿主對象操縱的能力,jQuery 以及其他對語言和平臺做彌補的庫開始慢慢凋零。

參考jQuery會過時嗎?
說這個你得知道jQuery提供的核心價值是什么。
我總結(jié)有幾點:

  1. 發(fā)揚光大了$和CSS選擇器的天才idea(盡管都不是發(fā)明者)
  2. 處理瀏覽器的兼容性問題和各種bug
  3. 鏈?zhǔn)秸{(diào)用為核心的DSL(此為jQuery獨創(chuàng))
  4. 基于jQuery的生態(tài)(大量插件,各種工具如IDE也對其有良好支持)
    看一下前兩點,
  5. 新的DOM標(biāo)準(zhǔn)(借鑒jQuery)加入了許多新的方法,覆蓋了絕大部分use cases;
  6. 目前主流瀏覽器的兼容性已經(jīng)大幅提高,且因為都是Evergreen browsers了,所以以后也不太會出現(xiàn)嚴重的兼容性問題了;此外新標(biāo)準(zhǔn)比以往要更詳盡清晰,出現(xiàn)不一致和bug的機率也小了;
    實際上這前兩點也不是一蹴而就的,而是一直在改進。比如原生querySelector API普及之后,才出現(xiàn)了Zepto。只不過這兩年發(fā)展加速,以至于Zepto還沒取代jQuery,就要一起過時了。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容