文章来自:源码在线https://www.shengli.me/h5/480.html
防抖:
适用于input输入框格式验证、联系词等。待用户停止输入一段时间再发生请求,避免频繁请求。
实现细节:debounce返回一个function,关键点在于clearTimeout,如果用户不停输入,
就会一直执行clearTimeout,导致fn无法执行。只有用户停止x时间后,才会开始执行fn。
节流:节流不会像防抖那样,等用户行为停止x时间后执行,而是间隔x时间执行一次。
适用于比input、keyup更加频繁的操作,比如mousemove、scroll、resize、touchmove
实现细节:保存上次执行的时间点和定时器