函數(shù)節(jié)流:能夠多次觸發(fā)的操作,影響性能,通過定時器在一段時間內(nèi)只能執(zhí)行一次,比如,頁面縮放的時候
// 函數(shù)的節(jié)流
function throttle(fn, interval) {
var canRun = true;
return function() {
var _this = this;
if(!canRun) {
return
}
canRun = false;
setTimeout(function() {
fn.apply(_this, arguments)
canRun = true;
}, interval || 500);
}
}
函數(shù)防抖:同函數(shù)節(jié)流很像,也是一段時間之內(nèi)只能執(zhí)行一次,比如,表單驗證的時候
// 函數(shù)防抖
function debounce(fn, interval) {
var timer = null;
return function() {
clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, arguments)
}, interval || 500)
}
}