最简单的防抖和节流
防抖
为什么需要防抖 环境
1、在开发过程里面 有没有遇到过 输入框的输入时间 “input” 每次输入都会触发一次对应的事件,这样不仅浪费性能,个人感觉体验还不是特别好 没输入一次就出发一次,这样的情况,如果涉及大量数据的匹配筛查,是不是就会特别的难受,我都还没有指明我要筛选哪些数据,就开始筛选,不够精确,增加了界面渲染和后端服务器的压力
2、那有没有呀可以等我输入完了再做判断筛选 或者我不输入了再进行筛选的操作 ???还真的有:那就是 防抖
3、防抖简单讲就是在事件被触发后n秒后再执行,并且如果一直操作只有最后一次生效
那我们要怎么做
分析一下:
1.n秒后执行 是不是应该有一个延迟执行函数,想到了吗?对就是 setTimeout,
2.要保证每一次的执行都要判断是不是在n秒内 是不是应该有一个变量来管理 timer
3.那按什么来判断是否满足执行条件,都说了是n秒 那么就用自定义的aweit
原理逻辑都有了 那么我们来看看代码
function fd(fn,aweit