function throFun(){
console.log(this)
console.log('执行真正的函数')
}
var thro = debounce (throFun,1000);
box.addEventListener('click' , function(){
thro();
})
function debounce (method,time){
let timer = null
return function(){
console.log('被触发')
clearTimeout(timer)
timer = setTimeout(()=>{
method.apply(this,arguments)
},time)
}
}
function throttle (method,delay,immediate = true){
let prev = Date.now();
let flag = true
return function(){
if(immediate && flag){
method.apply(this,arguments)
flag = false
prev = Date.now();
}
console.log('被触发')
let now = Date.now();
if(now - prev >= delay){
method.apply(this,arguments)
prev = Date.now();
}
}
}
网友评论