防抖与节流
- 防抖:前面的所有的触发都被取消,最后一次执行在规定时间之后才会触发,如果快速连续触发,只会执行一次;
- 节流:用户操作很频繁,但是把频繁操作变为少量操作【可以给浏览器有充裕的时间解析代码】
lodash插件
lodash插件:里面的封装函数的防抖与节流,可以npm下载也可以官网下载,但是暴露的是下划线,是一个函数。
- 防抖:.debounce是防抖且返回的结果是个函数,例如let result=.debounce(function(){},1000),所以一般绑定事件是btn.onjinput=_.debounce(function(){},1000),最后一次延迟一秒触发,只会一次
- 节流:在规定的间隔时间范围内不会重复触发回调,只有大于这个时间间隔才会触发回调,把频繁的触发变为少量的触发。例如需求是在一秒内无论点击多少次,只能执行一次(类似数字只能加一),_.throttle()使用的语法与debounce很像,总之,防抖是用户操作很频繁,但是只执行一次。
项目中node中有lodash,不需要再引入了,直接import _ from ‘lodash’,这种引入是把所有的函数都引入进来了,最好是按需引入;