js 效能優化整理之 高頻優化

2022-02-09 10:19:04 字數 1935 閱讀 6152

var count = 0;

elem.onmousemove = function()

// 實現拖拽功能的**...

};

var throldhold = 200; //兩次scroll事件觸發之間最小的事件間隔

window.onscroll = function ()

arguments.callee.timer = settimeout(isdivscroll, throldhold);

}//isdivscroll滾動執行的方法

window.onmousewheel = throttle(function(), 200 );
window.onresize = throttle(function(), 200 );

window.addeventlistener("resize", throttle(function(),200),false);

// 立即執行版

function debounce(func, wait) , wait)

}}

阿薩

// 合成版

/** * @desc 函式防抖

* @param func 目標函式

* @param wait 延遲執行毫秒數

* @param immediate true - 立即執行, false - 延遲執行

*/function debounce(func, wait, immediate) , wait);

} else , wait)}}

}

function debounce(func, wait, immediate) ;

var callnow = immediate && !timeout;

cleartimeout(timeout);

timeout = settimeout(later, wait);

};}

// 新增resize的**函式,但是只允許它每300毫秒執行一次

window.addeventlistener('resize', debounce(function(event) ,300));

其他的hadleclickthrottle(function(text,record,index),1000)

const throttle = (fn, wait = 800) => 

}}

function debounce(func, wait, immediate)  else 

};var callnow = immediate && !timeout;

if (!timeout)

return result;

};};

來自elementui

function debounce(fn) );

});}

return pending;

};}

使用如下

// not necessary (debounced to run at most once-per-tick)

update: debounce(function () );

}),

function contains(parentnode, childnode)  else 

}function checkhover(e,target) else

}function getevent(e)

document.getelementbyid("element").addeventlistener("mouseover",function(e)

},false);

MySQL效能優化之高階篇

4.1 索引是什麼,建立索引的原因 索引用於快速找出在某個列中有一特定值的行,不使用索引mysql必須從第一條記錄開始讀完整個表,直到找出相關的行,表越大查詢資料所花費的時間就越多,如果表中查詢的列有乙個索引,mysql能夠快速到達乙個位置去搜尋資料檔案,而不必檢視所有資料,那麼將會節省很大一部分時...

Js效能優化

1.使用區域性變數來轉接全域性變數或深層屬性,縮小物件訪問層級 2.慎用with,因為with加深了內部的作用域鏈 3.eval無法提前被解析和優化,即無法被預編譯,所以要慎用。4.對字串細化操作時要轉化成字串物件new sting,省得內部每一次都要進行 轉換,影響效率。正規表示式也是如此。5.與...

JS效能優化

下面是一些關於客戶端js效能的一些優化的小技巧 1.頂 關於js的迴圈,迴圈是一種常用的流程控制。js提供了三種迴圈 for while for in 在這三種迴圈中 for in 的效率最差,因為它需要查詢hash鍵,因此應盡量少用for in 迴圈,for while 迴圈的效能基本持平。當然,...