跳到主要内容

实现instanceOf

实现 instanceOf 函数

instanceOf 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

function instanceOf(obj, className) {
// 获取对象的原型
let proto = Object.getPrototypeOf(obj);
// 获取类的原型
const prototype = className.prototype;

// 遍历对象的原型链
while (proto !== null) {
// 如果找到匹配的原型,返回 true
if (proto === prototype) {
return true;
}
// 继续沿着原型链向上查找
proto = Object.getPrototypeOf(proto);
}
// 如果遍历完原型链没有找到匹配的原型,返回 false
return false;
}