SOURCE

function throttle(hander,time){
    let first = false,
        saveArg,
        saveThis
    function wrapper(arguments){
        if(first){
            saveThis = this
            saveArg = arguments
            return
        }
        first = true
        hander.call(this,arguments)
        setTimeout(()=>{
            isThrottled = false
            hander.call(saveThis,saveArg)
            saveArg = saveThis = null
        },time)
    }
    return wrapper
}
function f(a) {
  console.log(a);
}
let f1000 = throttle(f, 1000);

f1000(1); // 显示 1
setTimeout(()=>{
    f1000(2)
},1000)
// (节流,尚未到 1000ms)
f1000(3); // (节流,尚未到 1000ms)
setTimeout(()=>{
    f1000(4)
},6000)
console 命令行工具 X clear

                    
>
console