jQuery是一款很是優秀的javascript框架,當咱們使用到jQuery後就不再想回到javascript時冗長的代碼,那麼jQuery的優化就擺在了咱們的面前。那麼咱們優化JQuery應該從那些方面入手呢?javascript
一、使用最新版本的jQuery
css
新版本相對於舊版本會作性能上的改進,還有就是添加新功能。
html
二、選擇器的使用
java
咱們一般會使用id選擇器、class選擇器、元素選擇器、僞類選擇器和元素選擇器。在使用時個人建議是最好使用id選擇器,其次是class選擇器>元素選擇器>Element選擇器>僞類選擇器。緩存
說到選擇器時,不可必選的要插上一句,在使用選擇器查最好是從具備id的父元素開始逐級向下查找。
框架
三、不要過分的使用jQuery
less
記住一句話原生的是最快的。jQuery是write less,do more(寫的更少,作的更多)。
函數
四、作好緩存性能
當時要重複使用一個節點是可使用一個變量存放,在使用時再調用。避免重複獲取節點,下降效率。優化
var inputSelect = $("#head .head_right input"); inputSelect.find("a"); inputSelect.find("i");
五、使用鏈式操做
jQuery的一大亮點,就是可使用鏈式操做。
$("#content").find(".div").eq(2).html("Hello World");
六、事件委託
當須要多個同級元素執行一種類型的事件時,能夠採用事件委託的方式。例:
<div id="content"> <div><div> <div><div> <div><div> <div><div> <div><div> <div>
當每一個class="div"的div都具有一個click事件的時候咱們能夠採起事件委託,
$("#content").on("click","div",function(){ $(this).css("color","#ff5500"); });
七、正確處理循環
循環是一種較耗時的操做,若是可使用選擇器直接選中元素,就不要使用循環去一個個的遍歷元素。
Javascript的原生方法for和while,要比jQuery的each()快。因此應該優先使用原生的方法。
八、減小JQuery對象的生成
生成Query對象就會生成對應的屬性和方法,比較佔用資源。因此儘可能減小jQuery對象的生成。
九、變量的做用域
當一個變量不須要 在多個函數調用時,應該把變量放在函數內,減小代碼執行時查找代碼的時間。
十、將某些函數推遲到$(window).load執行
$(document).ready確實好用,可是它能夠再頁面渲染時,其餘元素尚未下載完成就執行。
十一、腳本的合併
腳本都是一一被加載的,減小腳本數量也能提升效率。
十二、元素封裝
當給一個節點插入一個內容,能夠先把內容進行封裝,再插入。
var content = ""; $("#head").html(content);
另外就是進行js文件的壓縮。
隨着jQuery的不斷被使用,愈來愈多的優化方法會被發現。