我们防抖和节流都可以用lodash插件来解决
1.使用lodash插件:Lodash 简介 | Lodash 中文文档 | Lodash 中文网
- npm安装:npm i -g npm npm i --save lodash
3.lodash插件:里面封装函数的防抖与节流与节流的业务【闭包+延迟器】
4.lodash函数库对外暴露_函数
防抖:
前面的所有的出发时间都被取消,最后一次执行再规定时间之后才会触发,也就是如果连续快速的触发,只会执行最后一次的函数。
例如:input输入框,下方会出现模糊匹配
let input = document.querySelector('input')
input.oninput = _debounce(function () {
console.log('ajax发请求');
}, 1000)
节流:
在规定的间隔时间内不会重复触发回调,只有大于这个时间间隔才会触发回调,把频繁触发变为少量触发
节流就是指连续触发事件但是在 n 秒中只执行一次函数。节流会稀释函数的执行频率
button.onclick = _.throttle(funtion() {
console.log('执行了一次');
}, 500)