每天 10 分钟,学习 JavaScript —— (十二)instanceof

instanceof

  • 作用:检测构造函数B的 prototype 属性是否出现在实例对象A的原型链上
  • 表达式:A instanceof B
  • instanceof只能用来判断对象和函数,不能用来判断字符串和数字等
    function Fn() { }
    var f1 = new Fn()
    console.log(f1 instanceof Fn) // true
    console.log(f1 instanceof Object) // true
    console.log(Object instanceof Fn) // false
    var str = '123';
    console.log(str instanceof String) // false
 
    console.log(Object instanceof Function) // true
    console.log(Object instanceof Object) // true
    console.log(Function instanceof Function) // true
    console.log(Function instanceof Object) // true
 

寻找方式

  • 以 Object instanceof Function 为例
    • A沿着__proto__寻找
    • B沿着prototype寻找
    • 若找寻后指向一致,则返回 true, 反之则 false

image.png

(0)
上一篇 2021年6月1日 下午5:29
下一篇 2021年6月1日 下午5:44

相关推荐

发表评论

登录后才能评论