提升效率的JQUERY(转)
生活随笔
收集整理的這篇文章主要介紹了
提升效率的JQUERY(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘要
本文部分整理了JQuery性能提升的一些方法,內容綜合自artzstudio,viralpatel,htmlgoodies等網站,希望對大家有所幫助。這些規則雖然簡單,但如果不遵循就會影響程序執行效率,增加瀏覽器的負擔。
1 優先使用ID選擇器和以ID開頭的選擇器
//ID選擇器性能最佳 $("#myDiv") //以ID開頭,提高效率 $("#myDiv .red")?
2 類選擇之前加元素選擇提高效率
//元素(tag)選擇器效率僅次于ID選擇器,優于類(class)選擇器 $("#myList li.active")?
3 緩存JQuery對象
//錯誤,做了兩次選擇 $("#myList li").css('border','3px'); $("#myList li").css('color','red'); //緩存對象,提高效率 var $li = $("#myList li") $li.css('border','3px'); $li.css('color','red');?
4 利用鏈式命令,減少代碼量
//鏈式命令,減少代碼量 $("#myList li").css('border','3px').css('color','red');?
5 使用子查詢
//一次全局查找加兩次子查詢優于兩次全局查找 var $list = $("#myList"); var $actives = $list.find('li.active'); var $in_actives = $list.find('li.in_active');?
6 減少DOM的操作次數(DOM操作很慢)
//操作一次DOM,而不要操作100次 var lis = ""; for (var i=0, i<100; i++) {lis += '<li>' + i + '</li>'; } $('#myList').html(lis);?
7 許多節點調用相同的函數時,利用事件委托
//效率較低 $('#myList li').bind('click', function(){ }); //效率較高 $('#myList').bind('click', function(e){if ($(e.target).nodeName === 'LI') {} });?
8 把不重要的功能(如拖放,效果等)放在$(window).load執行
//不要把所有都放在$(document).ready中 $(window).load(function(){// 在頁面所有對象加載完執行 });?
9 較長的字符串拼接不要使用concat(),要使用join()
//join()比concat()效率更好 var list_items = []; for (var i=0; i<=10; i++) { list_items[i] = '<li>Item '+i+'</li>'; } $('#myList').html(list_items.join(''));?
10 使用for循環,不要使用$.each循環
//js原生方法效率更好 var js_array = new Array (); for (var i=0; i<10000; i++) {js_array[i] = i; }?
11使用元素前,先檢查其是否存在
//檢查id為myDiv的元素是否存在 if($("#myDiv").length) { }?
12 函數總是返回false
$('#myDiv').click (function () {return false; });?
13 使用html5的data屬性
//<div id="myDiv" data-value="111"></div> $("#myDiv").data("value");?
14 使用最新的版本及CDN
15 壓縮你的JS代碼
16 保持代碼規范整潔
轉載于:https://www.cnblogs.com/acuier/p/6851785.html
總結
以上是生活随笔為你收集整理的提升效率的JQUERY(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [计算机视觉][神经网络与深度学习]Fa
- 下一篇: 20162328蔡文琛 四则运算第一周