function myInstanceof(left,right){
if(typeof left!=='object'||typeof left===null) return false;
let proto=Object.getPrototypeOf(left);
while(true){
if(proto===null) return false;
if(proto===right.prototype) return true;
proto=Object.getPrototypeOf(proto);
}
}
// 递归
function myInstanceofRecursion(left,right){
if(typeof left!=='object'||typeof left===null) return false;
let proto=Object.getPrototypeOf(left);
if(proto===null) return false;
if(proto===right.prototype) return true;
myInstanceofRecursion(proto,right)
}
function Animal(){}
let cat=new Animal();
console.log(myInstanceofRecursion("111", String)); //false
console.log(myInstanceofRecursion(new String("111"), String));//true
console.log(myInstanceofRecursion(cat,Animal))
console