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