题目链接:
https://www.nowcoder.com/practice/a1169935fd6145899f953ba8fbccb585
instanceof 用处
instanceof
判断对象的原型链上是否存在构造函数的原型。只能判断引用类型。
instanceof 原理
instanceof 主要的实现原理:只要右边变量的 prototype 在左边变量的原型链上即可。因此, instanceof 在查找的过程中会遍历左边变量的原型链,直到找到右边变量的 prototype ,如果查找失败,则会返回 false
instanceof 实现
过程:
获取左边变量的隐式原型(即:
__ proto __
,可通过Object.getPrototypeOf()
获取)获取右边变量的显示原型(即:
prototype
)进行判断,比较 leftVal. __ proto __ . __ proto __ …… === rightVal.prototype,相等则返回 true,否则返回 false
1 | function myInstanceof(left, right) { |
参考资料:公众号前端点线面