防抖与节流

防抖

原理:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时,最后一次有效。
适用场景:

  • 按钮提交场景:防止多次提交按钮,只执行最后提交的一次
  • 服务端验证场景:表单验证需要服务端配合,只执行一段连续的输入事件的最后一次,还有搜索联想词功能类似



    
    
    
    Document
    


    
防抖

节流

解决问题:防止在单位时间内多次触发。例如拖拽
原理:规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。





    
    
    
    Document
    



    打开控制台,滚动屏幕




适用场景:

  • 拖拽场景:固定时间内只执行一次,防止超高频次触发位置变动
  • 缩放场景:监控浏览器resize
  • 动画场景:避免短时间内多次触发动画引起性能问题

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