防抖(debounce):
? 就是在一定的時間內(nèi)事件只發(fā)生一次舟奠,比如你點擊button按鈕儒洛,1秒內(nèi)任你單身30年手速點擊無數(shù)次,他也還是只觸發(fā)一次。
<body>
<button id="debounce">防抖</button>
<script>
window.onload = function () {
let obtn = document.getElementById('debounce'); //獲取按鈕
obtn.addEventListener('click',debounce,false); //監(jiān)聽綁定事件
}
//執(zhí)行函數(shù)
let timer
function debounce() {
clearTimeout(timer); //清除緩存
timer = setTimeout(function(){
console.log('防抖克饶,防抖酝蜒,防抖');
},2000)
}
</script>
</body>
使用場景:當(dāng)你在頁面中使用onkeyUp監(jiān)聽用戶在input框中的輸入,如果用戶按住一個6不放矾湃,那監(jiān)聽事件豈不是一直被觸發(fā)亡脑,這樣就浪費了一部分性能了,那么我們在一定事件內(nèi)監(jiān)聽洲尊,也就是說我過了一秒再來看看你輸入了多少個6
節(jié)流(throttle):
節(jié)流就是在一定時間間隔內(nèi)觸發(fā)一次事件