instanceof用于判断对象类型,自己写一个记录一下
function MyInstance(left, right) {
// 获取对象原型
let proto = Object.getPrototypeOf(left);
// 获取构造函数的原型对象
let prototype = right.prototype;
// 判断构造函数的prototype是否在对象的原型链上
while (proto) {
if (!proto) return false;
if (proto === prototype) return true;
// 如果没有找到,就继续往上找,Object.getPrototypeOf()可获取指定对象的原型
proto = Object.getPrototypeOf(proto);
}
}
网友评论