01、防抖还是节流
防抖 与 节流 目的都是避免一定时间内,大量重复的操作造成的性能损耗。因此原理也类似,都是阻止过多的事件执行,只保留一部分来执行。适用场景略有不同,也有交叉,动手练习一遍就懂了。
区别 | 防抖(Debounce) | 节流(throttle) |
---|---|---|
描述 | 一定延迟时间内,连续事件只执行最后一次 | 一段固定时间内只执行一次 |
原理 | 只保留一个延时setTimeout() 的执行器,后续新的替代旧的 |
判断时间间隔,在固定间隔时间内,只执行一次。 |
执行次数 | 只执行最后一次 | 执行首次、最后一次,或首次+最后一次 |
合适场景 | 连续操作只需要一次的,如变更内容提交到后端 | 连续操作定期执行的场景:连续的UI交互,如拖拽、滚动 |
02、什么是防抖(Debounce)?
按字面意思理解就是 防止抖动(Debounce /di'bauns/ 防抖动),本来只需要点击一次,结果手抖操作了很多次,重复执行就造成了额外的浪费。
标签:防抖,now,节流,args,JavaScript,func,执行 From: https://www.cnblogs.com/anding/p/16987336.html