首頁  >  文章  >  web前端  >  為什麼現在還要使用jQuery?理由分析

為什麼現在還要使用jQuery?理由分析

青灯夜游
青灯夜游轉載
2023-04-14 15:15:512279瀏覽

為什麼現在還要使用jQuery?理由分析

根據統計, jQuery 全球網站使用目前依然高企。但一個不爭事實 ,隨著Web技術現代化,jQuery 已經被邊緣化,也有不少人直接認為 jQuery 已經過時,不必再考慮使用。這部分人可能 很少用,或不用 jQuery,使不使用jQuery,還有得探討。

首先, jQuery 在開發現代前端UI上,的確失去了曾經的優勢,因為Web標準成熟化,不必過多考慮兼容一致性,DOM操作API也有了替代;另外,又出現了新技術市場(如MVVM),可以聲明式的自動化UI功能的開發。

其實,是否學用一個工具(在新專案裡使用),需要考慮很多因素。就jQuery而言,我認為還有學習和使用它的地方。

使用

為商業專案選擇技術棧,都要考慮投入成本和回報比率。反對使用jQuery的人 一般是擔心 它會過時,學了用不上,也懷疑它的開發效率。任何技術都會過時的,所以在可預期的項目上,技術是否過時不是考慮的首要因素 。首要考慮的是學習、開發維護成本 , 以及其回報的比率 。

每一種工具都是有學習成本 ,在使用上也有其適用性的。原生DOM,React 的學習成本並不低,也有其獨特的適用範圍。

  • 原生DOM API作為一種標準,它一定是具有通用性的,DOM操作是比較原始
  • MVVM 其實只適用於狀態更新的UI,不適用一些細微的DOM操作,例如動畫,視窗操作

其實jQuery 就是一個DOM操作的工具庫,你的原生或React專案一定會有一些自訂的工具庫,用來提高開發效率,因為原生操作是很原始的,React 的抽像不適用所有互動功能的需求。

用不用jQuery,要考慮專案性質,和具體開發任務。就目前而言,一些中小項目 ,資料互動功能不多的,引用 jQuery 投入回報比應該是不錯的。

學習

除了使用的角度,從學習的角度,我的觀點是,研習jQuery使用和源碼,對於提高JS水平,和前端水平依然有幫助。

Atypic 認為還是用jQurey 的六個理由

#以下簡譯Atypic 團隊總結的使用jQuery的幾個理由

第一,jQurey 的DOM節點選擇器比較原生的強

現在原生querySelector也是使用CSS 選擇器的,但是jQurey 在CSS標準之上更加的“高級” 。所謂高級 是指針對某種 ###節點查詢任務### 更加的直接,和方便。這些部分選擇器語法 並沒 被 納入CSS標準。例如:偽類別###:visible### :###
$('a[href^="http://"]:visible')
###這個查詢是選擇所有前綴是###http://### 這個不安全協議名,且可見的###a# ##標籤。 ######如果你有大量 這種高級查詢 ,原生滿足不了(必須寫大量原始操作),沒有jQuery,你得自己封裝。 ###

第二,jQurey 支持链式语法,可将多个DOM操作写成一句

jQurey构造函数($())创建并返回一个 jquery对象,这个对象实例的所有 DOM 操作方法 都会修改当前实例后返回它(新的修改过后jquery实例)注1,这样,多个 DOM操作 就可以连写在一起,这就是有名的 链式语法。例如

$('a[href^="http://"]').addClass(‘insecure').attr('target', '_blank');

以上语句 选中的DOM节点 执行了两次操作:添加样式类(insecure)和属性(target)。如果用原生 得这么写:

 const insecure_links = document.querySelector(‘a[href^=“http://“]’);
  insecure_links.classList.add(‘insecure’);
  insecure_links.addAttribute(’target’, ‘_blank’);

这里比较明显的看出jQuery的优势。

第三,jQurey支持自动批量处理节点数组,语法更简洁

jQuery对象的DOM操作方法默认是批量处理,无论是你选一个或是多个;但是如果是 多个,原生必须使用 querySelectorAll,并且选中后还要手动循环处理每个节点:

  const insecure_links = document.querySelectorAll(‘a[href^=http://“]’);
  for (let i = 0; i < insecure_links.length; i++) {
      insecure_links[i].classList.add(‘insecure’);
      insecure_links[i].addAttribute(’target’, ‘_blank’);
  }

无论是一个 还是多个,jQuery 都是一条语句(没变化):

$(&#39;a[href^="http://"]&#39;).addClass(&#39;insecure&#39;).attr(&#39;target&#39;, &#39;_blank&#39;);

jQuery 一个中间变量都不用,代码简洁易读,这就是效率。

第四,浏览器无关

现代浏览器普及率已经相当不错,但不绝对,且如果你有老项目需要维护,目前还是有学用jQuery的必要。如果你想用最新技术,又不得不维护兼容性,则得自己处理兼容问题,这可能不比直接使用 jQuery 更有效率。尤其是 AJAX 和 事件检测 这两个 兼容问题。

第五,丰富的插件库

大家都很喜欢 jQuery的一个点,是它有很多 非常有用 的插件。这些插件 不但多样,且成熟。一个典型例子就 是轮播插件(carousel)。不使用插件,要我们自己写一个,我们得花一到两个工作日,轮播展示功能 很复杂。

使用jQuery,则有多种 轮播插件可选择,灵活且成熟,可满足任何 轮播展示的需求。

小结

以上理由都为了——开发者效率,而效率要靠专注,需要抽象来维护一个较小的工作环境,忽略不必要的细节。jQuery 的抽象 是有效率的。

不过,就是因jQuery是有抽象的,也作为一种依赖是有大小的,所以,会有性能(运行和加载)损耗。这些都是 项目成功 的可能因素 。

原文地址:https://nakeman.cn/blog/reasons-why-we-still-use-jquery/%EF%BC%89

更多编程相关知识,请访问:编程教学!!

以上是為什麼現在還要使用jQuery?理由分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除