以下为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。