Jquery效能最佳化詳解

來源:互聯網
上載者:User

尋尋覓覓,覓覓尋尋終於找到了一些關於jquery效能最佳化的文章,小編果斷收藏當然不能忘了加上自己的一些總結及理解。

首先,之前文章中的jquery鏈式操作就是jquery效能最佳化方式中的一種,具體實現及優勢在這裡就不重複了哈。其次,jquery的最佳化與web最佳化中的某些方法是一樣的。

a.壓縮js。使用代碼壓縮技術,減小檔案體積。(使用jsmin、YUI Compressor等)。

b. 事件預設是向上冒泡的,發生在子節點中的事件,可以由父節點來處理。把事件註冊上提到父節點上,這 樣就不需要為每個子節點註冊事件監聽.

c.利用緩衝,當要多次使用某個jquery對象時,可以將jquery對象緩衝到變數裡。

複製代碼 代碼如下:
var nodeTd = $("table td");
var $cj = $("#cj");

$cj.on("click",function(){
    $cj.css("color","blue");})

jquery結果緩衝,如果需要將jquery結果對象在程式中的其他地方使用,或者function會多次執行,那麼就可以將其存放到一變數中。

d.盡量從id選取器來繼承。因為id的唯一性,id選擇是jquery選擇一個元素最快的方法了。

複製代碼 代碼如下:
$("#firstd").slideDown(500);
$("#firstd img").slideUp(500);//利用id選取器繼承來選擇多個元素

e.使用子查詢

複製代碼 代碼如下:
  zhuye.on("swiperight","#data li",function(){
            $(this).find(".delete").hide();
        });//swiperight——看jquery-mobile  api內容內容

f.採用find(),兒不使用上下文尋找,.find()函數更快速些,在上面的e中已有使用。

g.採用jquery的內建函式data()來儲存狀態(這種效能最佳化方法在百度時第一次見到,例子也暫直接引用他的吧)。

複製代碼 代碼如下:
$('#head').data('name', 'value');
// 之後在你的應用中調用:
$('#head').data('name');

h.最後,使用新版本的 jQuery及簡化jquery代碼。

複製代碼 代碼如下:
$(document).ready(function (){
});
$(function (){
});

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.