在正常使用情况下:事件触发非常频繁,而且每一次的触发, 回调函数都要去执行(如果时间很短,而回调函数内部有计算,那么很可能出现浏览器卡顿)。
节流:在规定的间隔时间范围内不会重复触发回调,只有大于这个时间间隔才会触发回调,用户操作很频繁,但是把频繁的操作变为少量操作[可以给浏览器有充裕的时间解析代码]
防抖:前面的所有的触发都被取消,最后一次执行在规定的时间之后才会触发,用户操作很频繁,但是只是执行一次 解决方法可以用(闭包加定时器)
节流:在开发项目中我们可以通过lodash实现节流操作。在node_modules中自带loadash
lodash提供了防抖以及节流函数(也可以对数组进行操作类似于去重等)
引入方法
//全部引入
import _ from 'lodash'
//按需引入 只引入节流函数 throttle
import throttle from 'lodash/throttle'
使用方法 (throttle回调函数别用箭头函数,可能出现上下文this问题)
xxx为你所定义的methods中的函数 _是lodash对象 此处使用的是ES5的写法
xxx:throttle(function(){
...... //此处正常书写你的函数逻辑和操作
},50),