SOURCE

//防抖
function debounce(fn,time,immediate){
    let timer = null
    
    return function(){
        let args = arguments
        let context = this
        if(immediate && !timer){
        	fn.apply(context, args)
    	}
        if(timer)clearTimeout(timer)
        timer = setTimeout(()=>{
            fn.apply(context, args)
        },time)
    }
    
}

//节流

function  throttle(fn,time,immediate){
    let timer = null
    return function(){
        let args = arguments
        let context = this
        if(immediate){
            fn.apply(context, args)
        }
        //当前没有要执行的事件时,才设置新的延时事件
        if(!timer){
             timer = setTimeout(()=>{
                fn.apply(context, args)
                //timer=null代表这个时间执行完了 可以设置下一个事件
                timer = null
        	},time)
        }
       
    }
}
console 命令行工具 X clear

                    
>
console