防抖函数就是在短时间内多次触发同一个函数时,在短时间内多次点击先清除上次的定时器,然后在从最后一次点击的时间重新开始定时

    1. <button id='btn'></button>
    2. <script>
    3. function debounce(fn,delay){
    4. let timer;
    5. return function(){
    6. clearTimeout(timer)
    7. timer = setTimeout(()=>{
    8. fn.apply(this,arguments)
    9. },delay)
    10. }
    11. }
    12. function fn(){
    13. console.log('测试防抖')
    14. }
    15. // 事件监听
    16. document.querySelector('#btn).addEventListener('click',debounce(fn,1000))
    17. </script>