函數(shù)節(jié)流的目的:防止不是用用戶直接控制的函數(shù)隘蝎,頻繁觸發(fā)
函數(shù)頻繁被調(diào)用的場(chǎng)景:window.onresize,mousemove
函數(shù)節(jié)流的代碼實(shí)現(xiàn)(經(jīng)典案例):
var throttle = function(fn,interval) {
var self = fn,timer,firstTime = true;
return function() {
var args = arguments,_this = this;
if(firstTime) {
self.apply(_this,args);
return firstTime = false;
}
if(timer) {
return false
}
timer = setTimeout(function() {
clearTimeout(timer);
self.apply(_this,args);
},interval||500)
}
}
window.onresize = throttle(function() {console.log(1)},500)