防抖:
function debounce(fn, ms){
let timer = null;
return (...args)=>{
if(timer) clearTimeout(timer);
timer = setTimeout(()=>fn.apply(this,args), ms)
}
}
节流:
function thorttle (fn , ms) {
let flag = true;
return (...args)=>{
if(flag){
setTimeout(()=>{
fn.apply(this,args);flag = true;
}, ms);
flag = false;
}
}
}
instanceof:
function myInstanceof (left, right){
let proto = Object.getPrototypeOf(left);
const prototype = right.prototype;
while(true){
if(!proto) return false
if(prototype === proto) return true
proto = Object.getPrototypeOf(proto);
}
}