防抖

//  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)
    }
  }
}

你可能感兴趣的:(防抖)