结合工作内容,总结js知识

74 阅读1分钟

1.防抖(debounce)与节流(throttle)

  1. 什么是防抖?
  2. 什么是节流?
  3. loadash:.debounce与.thorttle的使用
  4. 手写一个防抖方法
  5. 手写一个节流方法
function throttle(func, wait){
  let prev, timer
  return function fn(){
    let curr = Date.now()
    let diff = curr - prev
     //如果是第一次或者是间隔的时间比设定的时间长
    if(!prev || diff >= wait){
    //那么就直接执行
      func()
      prev = curr
    }else if(diff < wait){ //如果间隔的时间比设定的时间短,那么就等到设定的时间再执行
      window.clearInterval(timer) //每次之前都将定时器打破
      timer = setTimeout(fn, wait - diff)
    }
  }
}

防抖案例

文本框输入文字,1s后给出提示框

节流案例

初始化与响应式echarts表格生成