instanceof是处理typeof判断类型的一种方式
A instanceof B判断类型的原理是, 根据原型链去判断A的类型, 判断A的__proto__是否在B的prototype上
function myInstanceof(target, origin) {
// 因为是去判断原型链上, 所以要一直循环去找
while(target) {
if(target.__proto__ === origin.prototype) {
return true
}
target = target.__proto__
}
return false
}
let a = [1,2,3]
console.log(myInstanceof(a,Array)); // true
console.log(myInstanceof(a,Object)); // true