防抖和节流都是某段时间间隔之内执行一次,但是具体表现不一样;
防抖:点击按钮后500毫秒没有在点击过,则触发事件,否则立刻再点击一次会取消上一次的事件,然后重新计时。
节流:点击按钮后立刻执行,然后从当前时刻开始累积计时500毫秒之后,才能再点击一次
如果设置了500毫秒为事件间隔,你每1s去操作一次按钮的话,两者表现是一样的。但是如果你每400ms去点击一次的话,防抖的函数会一直取消上一次,不会触发事件;而节流则依然按照500ms的间隔执行
防抖一般用于:用户多次频繁操作,但是大量的操作都是无效操作的情况
而节流用于每一次操作都是有效操作
输入框,用户一般会输入很多次,但是除了最后一次前面的操作好多都是拼音输入,都是无效的
应用场景:
- 防抖
- 用户在不断输入值时,用防抖来节约请求资源
网友评论