防抖(debounce):
就是在一定的时间内事件只发生一次,比如你点击button按钮,1秒内任你单身30年手速点击无数次,他也还是只触发一次。
<body>
<button id="debounce">防抖</button>
<script>
window.onload = function () {
let obtn = document.getElementById('debounce'); //获取按钮
obtn.addEventListener('click',debounce,false); //监听绑定事件
}
//执行函数
let timer
function debounce() {
clearTimeout(timer); //清除缓存
timer = setTimeout(function(){
console.log('防抖,防抖,防抖');
},2000)
}
</script>
</body>
使用场景:当你在页面中使用onkeyUp监听用户在input框中的输入,如果用户按住一个6不放,那监听事件岂不是一直被触发,这样就浪费了一部分性能了,那么我们在一定事件内监听,也就是说我过了一秒再来看看你输入了多少个6
节流(throttle):
节流就是在一定时间间隔内触发一次事件
网友评论