防抖截流
作者:互联网
截流
只有大于等于执行周期时才执行,周期内调用不执行。
function throttle(handler, wait){
var lastTime = 0
return function () {
var nowTime = new Date().getTime()
if(nowTime - lastTime > wait) {
handler.apply(this, arguments)
lastTime = nowTime
}
}
}
- 窗口调整
- 页面滚动
- 抢购疯狂点击
防抖
函数需要频繁触发情况时,只有足够空闲的时间,才执行一次。
function debounce(handler, delay) {
var timer = null
return function () {
var that = this, _arg = arguments
clearTimeout(timer)
timer = setTimeout(function (){
handler.apply(that, _arg)
}, delay)
}
}
- 实时搜索
- 拖拽
标签:function,防抖,nowTime,timer,handler,var,lastTime,截流 来源: https://blog.csdn.net/Her_smile/article/details/89644456