JavaScript >> Javascript 文檔 >  >> jQuery

jQuery 與 JavaScript – 區別?哪個更好?

本文將解釋 JavaScript 和 jQuery 是什麼,它們有何不同,以及應該如何/為什麼要使用它們。

什麼是 JavaScript

JavaScript 於 1990 年代中期開始作為一種腳本語言用於為網頁添加交互性。

隨著時間的推移,它已經發展成為一種功能齊全的編程語言,甚至可以在網絡瀏覽器之外運行(在我們的 Node.js 文章中有更多詳細信息)。

您還可以在此處查看我們概述 JavaScript 和 Typescript 之間差異的文章。

什麼是 jQuery?

jQuery 是一個圖書館編寫 在 JavaScript 中。

它不是一種單獨的語言或實現——它只是一組用 JavaScript 編寫的有用工具。它使用相同的語法並在相同的位置運行;它只是一堆額外的工具,可以更輕鬆地向頁面添加交互式元素、獲取和解析數據以及執行邏輯。

具體來說,jQuery 的主要目的是讓與 HTML DOM 的交互變得更容易。

它還包含有用的工具,用於使用 REST 和 AJAX 從 API 和 Web 服務中檢索數據。

什麼是 HTML DOM,jQuery 對它有什麼幫助?

處理 HTML 網頁時,DOM (文檔對像模型)就是其中的HTML標籤形成的樹狀結構。

每個 HTML 元素都在 DOM 中表示——段落、表格、圖像、鏈接——一切。

jQuery 讓您可以輕鬆地導航和修改 DOM 以訪問和更改頁面元素。 jQuery 提供的輔助函數比嘗試在純 JavaScript 中做同樣的事情要容易得多。

例如,考慮這個 HTML 表格(稱為“peopleTable ") 包含姓名年齡 列:

<table id="peopleTable">
    <tr>
        <th>
            Name
        </th>
        <th>
            Age
        </th>
    </tr>
    <tr>
        <td>
            Bob
        </td>
        <td>
            34
        </td>
    </tr>
</table>

使用jQuery可以輕鬆遍歷DOM,選擇表格並添加一行:

$('#peopleTable tr:last').after('<tr><td>Tim</td><td>21</td></tr>');

上面,jQuery 找到了 peopleTable 然後找到最後一個 表中的行並在之後添加新行 它(包含 Tim 的記錄)。

在 JavaScript 中執行此操作更加費力且難以閱讀:

var newRow = document.getElementById('myTable').getElementsByTagName('tbody')[0].insertRow(document.getElementById('myTable').rows.length);
newRow.innerHTML = '<tr><td>Tim</td><td>21</td></tr>';

那麼,我應該使用哪個?

jQuery 並不是天生的更好 而不是 JavaScript——它只是一個擴展 JavaScript 功能的庫。它可能適合也可能不適合您的需求,具體取決於您正在構建的應用程序類型。

自從 jQuery 鼎盛時期以來,JavaScript 已經成熟了很多,所以很多 jQuery 解決的問題現在在編寫 JavaScript 代碼時不再是問題。當然值得研究一下你是否真的需要使用它——現在 JavaScript 已經成熟,依賴大型輔助庫並不總是編寫代碼的最佳方式。

更現代的 JavaScript 庫,例如 Angular反應 是 jQuery 的替代品,它可能更適合您,尤其是在構建移動應用程序時。

jQuery 是什麼不是 適合是服務器端工作。在 Node.JS 中運行的應用程序沒有要遍歷的 HTML 頁面,因此 jQuery 的用途與 Node.js 應用程序內部無關。


Tutorial JavaScript 教程
  1. Refi App - 一種讓開發人員在與 Firestore DB 交互時不那麼痛苦的工具

  2. 如何在沒有 create-react-app 的情況下編寫 React 代碼

  3. 如何通過大版本升級更新 Gatsby 依賴

  4. Angular-Listening 存儲更改並將值從服務組件發送到不同的組件——僅在服務完成某些操作之後

  5. $(window).click(function(e) - 當前點擊元素的標識符

  6. Reactjs material-ui 庫中的容器組件

  7. 如何使用兩個按鈕過濾表格的列類型?

  1. 導入函數和導入語句的區別

  2. Javascript 註釋 #3 - 條件語句和運算符(if - else、switch-case 和運算符)

  3. 如何使用 Gatsby 和 Netlify 構建經過身份驗證的無服務器 JAMstack 應用程序

  4. UX 設計師如何為您節省開發時間和金錢

  5. 如何使用 jQuery 在選擇框上設置第一個選項?

  6. 我們如何使用 jest 和酶來測試 void 函數中的 useState 鉤子?

  7. 選擇複選框後如何從復選框表中獲取多個值並在使用jquery取消選中復選框時刪除該值

  1. MongoDB選擇_id數組的位置?

  2. 2017 年 10 月 DoneJS 社區更新

  3. 代碼穩定性和相互依賴性

  4. 創建一個 Pitch Deck 應用程序:並排,React 與 Svelte,比較