// 防抖函数,频繁操作,只执行最后一次操作function xx(fun,t){let timerreturn function(){if(timer){clearTimeout(timer)}timer=setTimeout(function(){fun()},t)}}// 节流函数,频繁操作,只执行一次操作function xx2(fun,t){let timer = nullreturn function(){if(!timer){timer=setTimeout(function(){fun()timer = null // 在setTimeout中,执行clearTimeout不起作用,所以需要将timer置为null},t)}}}function log(){console.log('log')}document.querySelector('.btn1').addEventListener('click',xx(log,500))document.querySelector('.btn2').addEventListener('click',xx2(log,500))