// func需要执行的函数
// wait延迟执行时间
// immediate---true 表立即执行,false 表非立即执行
function debounce(func,wait,immediate) {
let timeout
return function() {
let context = this
let args = arguments
if(timeout) clearTimeout(timeout)
if(immediate) {
let callNow = !timeout
timeOut = setTimeout(funtion(){
timeOut = null
},wait)
if(callNow) func.apply(context,args)
} else {
timeOut = setTimeout(function(){
func.apply(context,args)
},wait)
}
}
}
网友评论