以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
90. 实现`instanceof`
实现 myInstanceOf
,核心思路就是判断对象的 __proto__
链上是否有与构造函数的 prototype
属性相等的值。
代码实现如下:
function myInstanceOf(obj, constructor) {
let proto = obj.__proto__;
while (proto) {
if (proto === constructor.prototype) {
return true;
}
proto = proto.__proto__;
}
return false;
}
执行 myInstanceOf(b, B)
,先获取 b
的原型 proto
,并设置一个循环,每次循环将 proto
赋值为其原型的 __proto__
属性,直到找到 proto === B.prototype
时,返回 true。如果没有找到,最终返回 false。