有一个要注意的点是,_proto__指针一共有四个,少写了编译器还不会报错,一定要注意 var myInstanceof = function(obj1,obj2){ var proto = obj1.__proto__; if(proto){ if(obj2.prototype === proto){ return true; }else{ return myInstanceof(proto,obj2) } }else{ return false; } } var a = [0,1,2,3,4,5] console.log(myInstanceof(a,Object))