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
},time)
}
}
}
console