国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

編寫高效jQuery代碼的4個原則和5個技巧_jquery

來源:懂視網 責編:小采 時間:2020-11-27 21:22:10
文檔

編寫高效jQuery代碼的4個原則和5個技巧_jquery

編寫高效jQuery代碼的4個原則和5個技巧_jquery:jQuery的編寫原則: 一、不要過度使用jQuery 1. jQuery速度再快,也無法與原生的javascript方法相比,而且建立的jQuery對象包含的信息量很龐大。所以有原生方法可以使用的場合,盡量避免使用jQuery。 代碼如下:$(a).click(function(
推薦度:
導讀編寫高效jQuery代碼的4個原則和5個技巧_jquery:jQuery的編寫原則: 一、不要過度使用jQuery 1. jQuery速度再快,也無法與原生的javascript方法相比,而且建立的jQuery對象包含的信息量很龐大。所以有原生方法可以使用的場合,盡量避免使用jQuery。 代碼如下:$(a).click(function(

jQuery的編寫原則:

一、不要過度使用jQuery

1. jQuery速度再快,也無法與原生的javascript方法相比,而且建立的jQuery對象包含的信息量很龐大。所以有原生方法可以使用的場合,盡量避免使用jQuery。
代碼如下:
$("a").click(function(){
alert($(this).attr("id"));
});
//改良后↓
$("a").click(function(){
alert(this.id);
});


2. 許多jQuery方法都有兩個版本,一個是供jQuery對象使用的版本,另一個是供jQuery函數使用的版本。由于后者不通過jQuery對象操作,所以相對開銷較小,速度比較快。
代碼如下:
var $text = $("#text");
var $ts = $text.text();
//改良后↓
var $text = $("#text");
var $ts = $.text($text);

這里是用了“$.text()”的內置函數,其他類似的還有“$.data()”等。


二、緩存jQuery對象

查找DOM元素實際上有不小的內存開銷,使用選擇器的次數應該越少越好,并且盡可能緩存選中的結果,便于以后反復使用。記住,永遠不要讓相同的選擇器出現多次。

例如:
代碼如下:
$("#top").find("p.classA");
$("#top").find("p.classB");
改良后↓
var cached = $("#top");
cached.find("p.classA");
cached.find("p.classB");

三、少改動DOM結構

如果要多次改動DOM結構,就先把要改動的部分先取出來,改動完成后再放回去。這里的基本思想是在內存中建立你確實想要的東西,最后做一次最有效的更新DOM操作。

例如:
代碼如下:
var top_100_list = [...], // 這里是100個字符串的數組
$mylist = $("#mylist");
for (var i=0, l=top_100_list.length; i $mylist.append("

  • " + top_100_list[i] + "
  • "); // 100次DOM操作
    }
    改良后↓
    var top_100_list = [...],
    $mylist = $("#mylist"),
    top_100_li = ""; // 這個變量用來存儲變化的字符串
    for (var i=0, l=top_100_list.length; i top_100_li += "
  • " + top_100_list[i] + "
  • ";
    }
    $mylist.html(top_100_li);// DOM操作只有這么一次

    四、命名規范

    jQuery代碼中不免夾雜有JS代碼,如何讓jQuery代碼看起來嚴謹有序,規范自己的命名規則能更好的提高代碼的閱讀性。

    1. 函數名:function getResultByUserId(){..},遵循駱駝命名法,首字母小寫,單詞首字母大寫,盡量短而且明確表達方法的用意。

    還可以這樣定義:
    代碼如下:
    $.flushCartItemList = function() {
    isAjaxDate = true;
    }

    2. 參數名:function method(recordIdx, recordVal){..}, 同函數名,參數盡量用縮寫。
    命名就是要有意義,一些屬性的縮寫也很有講究,例如:索引:idx;值:val;長度:len;名稱:nm;等...

    3. 變量名:var user_id; var user_list_tab; var user_list_tr_1;,一般以下劃線為單詞分割,按照“命名_元素_索引”的規則。

    jQuery對象的變量名要加上“$”的前綴以區分javascript對象。


    jQuery編寫技巧:

    一、選擇器擇優

    選擇器是jQuery的基礎,如何選擇效率最高的選擇器,先要了解各種選擇器的性能差異。

    ①ID選擇器和標簽元素選擇器:$("#ID"); $("Tag");

    jQuery內部會自動調用瀏覽器的原生方法(getElementById();,getElementByTagName();),所以執行速度快。

    ②類選擇器:$(".Class");

    jQuery會遍歷所有DOM節點查找class=Class的DOM對象,所以執行速度較慢。

    ③偽類選擇器和屬性選擇器:$(":Type"); $("[Attribute='Value']");

    因為瀏覽器沒有針對它們的原生方法,這兩種選擇器執行速度是最慢的。不過,不排除一些第三方瀏覽器增加了querySelector()和querySelectorAll()方法,因此會使這類選擇器的性能有大幅提高。

    二、鏈式寫法

       代碼如下:$("div").find("h3").eq(2).html("Hello");

    采用鏈式寫法時,jQuery會自動緩存每一步的結果,比非鏈式寫法(手動緩存)要快。


    三、高效循環

      循環總是一種比較耗時的操作,javascript原生循環方法for和while,要比jQuery的“.each()”快。并且關于for循環,以下這種寫法效率最高。
    代碼如下:
    for (var i = 0, len = array.length; i < len; i++) {
    // alert(i);
    }

    先聲明變量,再進行循環操作,效率遠比遍歷數組“for (var i in arr)”高得多,也比循環取得數組長度“for (var i = 0; i < arr.length; i++)”的效率高!

    四、字符串拼接

     字符串的拼接在開發中會經常遇到,用“+=”的方式來拼接字符串的效率非常的低,我們可以利用數組的“.join()”方法。

    代碼如下:
    var array = [];

    for(var i = 0; i < 10000; i++){
    array[i] = "";
    }

    document.getElementById("one").innerHTML = array.join("");

    以前我很喜歡用數組的原生的方法“.push()”,其實直接用arr[i]或者arr[arr.length]的方式要快一點,但是差別不是很大。

    五、頁面加載

     盡管$(function(){}); 確實很有用, 它是在所有DOM元素加載完成。如果你發現你的頁面一直是載入中的狀態,很有可能就是這個函數引起的。你可以通過將jQuery函數綁定到$(window).load 事件的方法來減少頁面載入時的cpu使用率。

    代碼如下:
    $(window).load(function(){
    // 頁面完全載入(包括所有的DOM元素和JS代碼)后才初始化的jQuery函數.
    });

    一些特效的功能,例如拖放,視覺特效和動畫,預載入隱藏圖像等等,都是適合這種技術的場合。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    編寫高效jQuery代碼的4個原則和5個技巧_jquery

    編寫高效jQuery代碼的4個原則和5個技巧_jquery:jQuery的編寫原則: 一、不要過度使用jQuery 1. jQuery速度再快,也無法與原生的javascript方法相比,而且建立的jQuery對象包含的信息量很龐大。所以有原生方法可以使用的場合,盡量避免使用jQuery。 代碼如下:$(a).click(function(
    推薦度:
    標簽: 代碼 高效 jQuery
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品国产欧美综合一区 | 亚洲欧美日本在线观看 | 日本不卡一二三区 | 亚洲欧美日韩高清综合678 | 亚洲欧美韩国 | 精品日韩一区二区三区 | 精品一区二区三区的国产在线观看 | 中文字幕亚洲综合 | 国产一区在线视频观看 | 人人揉揉香蕉大青草 | 国产只有精品 | 久久精品国产精品亚洲综合 | 免费观看a毛片一区二区不卡 | 波多野结衣网站 | 一级黄网站| 国产激情一区二区三区成人91 | 久久综合中文字幕一区二区 | 九九热这里有精品 | 欧美在线观看视频免费 | 国产精品美女久久久久网站 | 国产一区 在线播放 | 日韩欧美视频二区 | 国产91精品高清一区二区三区 | 久久久久久国产精品视频 | 91久久国产| 欧美成人禁片在线观看网址 | 日韩在线观看不卡 | 日韩一级精品久久久久 | 欧美一区二区三区视频 | 国产精品久久久久久久毛片 | 欧美精品第一页 | 欧洲日韩 | 国产成人欧美一区二区三区的 | 国产高清一区二区三区 | 在线免费观看国产 | 成人精品一区二区三区 | 久久精品a国产一级 | 欧美交性又色又爽又黄 | julia一区 | 亚洲国产精品日韩高清秒播 | 国产视频第一页 |