function C() {}
let c = new C()
console.log(c instanceof C) // true
console.log(c instanceof Object) // true
console.log(c instanceof String) // false
function myInstanceof(left, right) {
let leftProto = left.__proto__;
let rightProto = right.prototype;
while (true) {
if (!leftProto) {
return false
}
if (leftProto === rightProto) {
return true
}
leftProto = leftProto.__proto__
}
}
console.log(myInstanceof(c, C)) // true
console.log(myInstanceof(c, Object)) // true
console.log(myInstanceof(c, String)) // false
手写javascript系列之手写instanceof
最新推荐文章于 2024-05-30 11:27:58 发布