搜尋
首頁web前端js教程如何優化jQuery效能?優化方法匯總

如何優化jQuery效能?優化方法匯總

Apr 07, 2022 am 11:53 AM
jquery效能最佳化

如何最佳化jQuery效能?以下這篇文章為大家介紹一些針對 jQuery 的最佳化方法,希望對大家有幫助!

如何優化jQuery效能?優化方法匯總

我一直在尋找有關jQuery效能優化方面的小技巧,能讓我那臃腫的動態網頁應用程式變得輕巧。找了很多文章後,我決定將最好最常用的一些優化效能的建議列出來。 【推薦學習:jQuery影片教學

一、選擇器效能最佳化建議

##1、總是從#id選擇器來繼承

這是jQuery選擇器的一個黃金法則。 jQuery選擇一個元素最快的方法就是用ID來選擇了。

2、在class前面使用tag

jQuery中第二快的選擇器就是tag選擇器(如$('head')),因為它和直接來自原生的Javascript方法getElementByTagName()。所以最好總是用tag來修飾class(並且不要忘了就近的ID)

jQuery中class選擇器是最慢的,因為在IE 瀏覽器 下它會遍歷所有的DOM節點。盡量避免使用class選擇器。也不要用tag來修飾ID。

3、使用子查詢

將父物件快取起來以備將來的使用

4、最佳化選擇器以適用Sizzle的「從右到左」模型

自版本1.3之後,jQuery採用了Sizzle函式庫,與先前的版本在選擇器引擎上的表現形式有很大的不同。它用“從左到右”的模型代替了“從右至左”的模型。

5、採用find(),而不使用上下文來找出

find()函數的確快些。但是如果一個頁面有許多DOM節點時,需要來回查找時,可能需要更多時間:

6、利用強大的鍊式操作##採用jQuery的鍊式操作比快取選擇器更有效

7、寫屬於你的選擇器

如果你常在程式碼中使用選擇器,那麼擴充jQuery的$ .expr[':']物件吧,編寫你自己的選擇器。

二、最佳化DOM操作建議

#8、快取jQuery物件

將你經常用的元素緩存起來

9、當要進行DOM插入時,將所有元素封裝成一個元素

這裡的基本思想是在記憶體中建立你確實想要的東西,然後更新DOM。這並不是一個jQuery最佳實踐,但必須進行有效的JavaScript操作 。直接的DOM操作速度很慢直接的DOM操作很慢。盡可能少的去更改HTML結構。

10、儘管jQuery不會拋出異常,但開發者也應該檢查物件

儘管jQuery不會拋出大量的異常給用戶,但是開發者也不要依賴於此。 jQuery通常會執行了一大堆沒用的函數之後才確定一個物件是否存在。所以在對一個作一系列引用之前,應先檢查一下這個物件存不存在。

11、使用直接函數,而不要使用與與之等同的函數

為了獲得更好的性能,你應該使用直接函數如. a j a x ( ) , 而不要使用.ajax(),而不要使用.ajax(),而不要使用.get(),. g e t J S O N ( ) , .getJSON(),.getJSON(),.post(),因為後面的幾個將會呼叫$.ajax()。

12、快取jQuery結果,以備後來使用

你常會取得一個javasript應用程式物件-你可以用App.來儲存你常選擇的對象,以備將來使用

13、採用jQuery的內部函數data()來儲存狀態

不要忘了採用.data()函數來儲存資訊

14、使用jQuery utility函數

不要忘了簡單實用的jQuery的utility函數。我最喜歡的是$.isFunction(), i s A r r a y ( ) 和 isArray()和isArray()和.each()。

15、為HTML區塊新增「JS」的class

#當jQuery載入之後,先給HTML新增一個叫」JS」的class$('HTML ').addClass('JS');只有當使用者啟用JavaScript的時候,才能加入CSS樣式。

三、關於最佳化事件效能的建議

#16、延遲到( w i n d o w ) . l o a d 

有時候採用(window).load 有時候採用(window).load有時候採用(window).load()比$(document).ready()更快,因為後者不等所有的DOM元素都下載完之前執行。你應該在使用它之前測試它。

17、使用Event Delegation

#

當你在一個容器中有許多節點,你想要對所有的節點都綁定一個事件,delegation很適合這樣的應用場景。使用Delegation,我們只需要在父級綁定事件,然後查看哪個子節點(目標節點)觸發了事件。當你有一個很多資料的table的時候,你想對td節點設定事件,這就變得很方便。

18、使用ready事件的簡稱

如果你想壓縮js插件,節省每一個字節,你應該避免使用$(document).onready()

四、測試jQuery

#19、jQuery單元測試

測試JavaSript程式碼最好的方法就是人來測試。但你可以使用一些自動化的工具如 Selenium , Funcunit , QUit , QMock 來測試你的程式碼(尤其是插件)。我想在另外一個專題來討論這個話題因為實在有太多要說的了。

20、標準化你的jQuery程式碼

經常標準化你的程式碼,看看哪個查詢比較慢,然後取代它。你可以用Firebug控制台。你也可以使用jQuery的快捷函數來讓測試變得更容易些

五、其他常用jQuery效能最佳化建議

21、使用最新版本的jQuery

最新的版本往往是最好的。更換了版本後,不要忘記測試你的程式碼。有時候也不是完全向後相容的。

22、使用HMTL5

新的HTML5標準帶來的是更輕巧的DOM結構。更輕巧的結構意味著使用jQuery需要更少的遍歷,以及更優良的載入效能。所以如果可能的話請使用HTML5。

23、如果為15個以上的元素加上樣式時,直接為DOM元素加上style標籤

要為少數的元素加樣式,最好的方法就是使用jQuey的css()函數。然而更15個以上的較多的元素添加樣式時,直接給DOM添加style 標籤更有效些。這個方法可以避免在程式碼中使用硬編碼(hard code)。

24、避免載入多餘的程式碼

將Javascript程式碼放在不同的檔案中是個好的方法,只在需要的時候載入它們。這樣你不會載入不必要的程式碼和選擇器。也便於管理程式碼。

25、壓縮成一個主JS文件,將下載次數保持到最少

當你已經確定了哪些文件是應該被載入的,那麼將它們打包成一個檔案。用一些開源的工具可以自動幫你完成,例如使用 Minify (和你的後端程式碼整合)或使用JSCompressor , YUI Compressor 或 Dean Edwards JS packer 等線上工具可以為你壓縮檔案。我最喜歡的是 JSCompressor 。

26、需要的時候使用原生的Javasript使用jQuery是個很棒的事情,但不要忘了它也是Javascript的一個框架。所以你可以在jQuery程式碼有必要的時候也使用原生的Javascript函數,這樣能獲得更好的效能。

######27、從Google載入jQuery框架#########當你的應用程式正式上線的時候,請從Google CDN載入jQuery,因為使用者可以從最近的地方獲取代碼。這樣你可以減少伺服器請求,而使用者如果瀏覽其他網站,而它也使用Google CDN的jQuery時,瀏覽器就會立即從快取中調出jQuery程式碼。 #########28、###緩慢載入內容不僅能提高載入速度,也能提高SEO優化,使用Ajax來載入你的網站吧,這樣可以節省伺服器端載入時間。你可以從一個常見的側邊欄widget開始。 ######【推薦學習:###jQuery影片###、###web前端開發###】###

以上是如何優化jQuery效能?優化方法匯總的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:segmentfault。如有侵權,請聯絡admin@php.cn刪除
Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具