SOURCE

function throttle(func,delay){
    let timeid;
    let lastTime=0;
    return function(...args){
        let now = Date.now();
        if(now-lastTime>=delay){
            func.apply(this,args)
            lastTime = now;
        }else{
            clearTimeout(timeid)
            setTimeout(()=>{
                func.apply(this,args)
                lastTime = Date.now()
            },delay)
        }
    }

}
// 原始函数,可能会频繁触发
function handleResize() {
  console.log('窗口大小改变了');
}

// 使用节流包装后的函数
const throttledResize = throttle(handleResize, 200); // 200毫秒的节流间隔

// 监听窗口大小改变事件,使用节流函数
window.addEventListener('resize', throttledResize);
console 命令行工具 X clear

                    
>
console