防抖函数(使用闭包)

了解了一下防抖函数的实现过程故做一下总结,供参考用:

  • 要实现的效果是在页面的input中不停的输入内容,停止输入1秒钟后在控制台输出输入结果(进行相关的数据操作...)
  • 要实现该效果需要用到定时器来触发相应的处理逻辑
    -->但是在做的时候发现使用了setTimeout后依旧是输入一次就处理(输出)一次,只是有些延迟而已,这样就没有意义了
    -->思路:需要将setTimeout存起来,然后每次input触发的时候就清除上一次存下的setTimeout,这样在最后一次触发的时候就只触发了一个setTimeout就实现了防抖的效果
    -->实现方法:将setTimeout通过闭包的形式给存储起来,每次Input触发事件的时候使用clearTimeout清除上一个,代码如下:



  
  
  
  防抖函数


  

  

理了一下实现的顺序:
防抖函数(使用闭包)_第1张图片

你可能感兴趣的:(javascript)