什么是防抖?什么是节流?两者有什么区别?在什么场景使用?
防抖就是延迟执行,事件触发后等待一段时间,如果期间再次触发就重新计时,只有停止触发后才执行。比如搜索框输入,等用户停止打字后再发请求。 节流是限制执行频率,在固定时间间隔内最多执行一次。比如滚动事件,不管滚动多快,都按固定频率处理。 区别:防抖关注最终结果,节流关注执行频率。防抖是”等一等看还有没有”,节流是”按节奏执行”。
使用场景: 防抖:搜索输入、窗口resize、按钮防重复点击 节流:滚动事件、鼠标移动、拖拽操作
这两个技术主要用于性能优化,减少不必要的函数执行和网络请求。