题
目
:
js
防
抖
和
节
流
剖
析
题目标签
学习时长:20分钟
题目难度:中等
知识点标签:前端、JavaScript
相关分析
防
抖
(debounce)
防抖,顾名思义,防止抖动,以免把一次事件误认为多次,敲键盘就是一个每天
都会接触到的防抖操作。
想要了解一个概念,必先了解概念所应用的场景。在 JS 这个世界中,有哪些防
抖的场景呢
1. 登录、发短信等按钮避免用户点击太快,以致于发送了多次请求,需
要防抖
2. 调整浏览器窗口大小时,resize 次数过于频繁,造成计算过多,此时
需要一次到位,就用到了防抖
3. 文本编辑器实时保存,当无任何更改操作一秒后进行保存
代
码
节
流
(throttle)
function debounce (f, wait) {
let timer
return (...args) => {
clearTimeout(timer)
timer = setTimeout(() => {
f(...args)
}, wait)
}
}