我们可以通过while实现,终止条件为Object.prototype.prototype = undefined,不断遍历自身原型链,进行与Class的原型对象判断是否相等
function myInstanceof(target, Class) {
let proto = Object.getPrototypeOf(target)
while (proto) {
if (proto === Class.prototype) {
return true
}
proto = Object.getPrototypeOf(proto)
}
return false
}
网友评论