Function.prototype.ownInstanceOf = function(instanceObj, prototypeObj) {
let current = instanceObj.__proto__
while (current) {
if (current === prototypeObj.prototype)return true
current = current.__proto__
}
return false
}
function Foo() {
}
let foo = new Foo()
Function.ownInstanceOf(foo, Foo)
这里instanceof主要就是找第一个参数的原型链上是否存在第二个参数的原型对象