JavaScript高级day20-- 函数中的instanceof

instanceof的使用

  • 表达式: A instanceof B
    A(有隐式原型)是实例对象,B(有显式原型)是构造函数
  • 如果B函数的显式原型对象在A对象的原型链上, 返回true, 否则返回false

在这里插入图片描述

instanceof具体案例1

  function Foo() {  }
  var f1 = new Foo()
  console.log(f1 instanceof Foo) // true f1找一次找到Foo
  console.log(f1 instanceof Object) // true f1找两次 第一次找到Foo 第二次找到Object

在这里插入图片描述

只要在构造函数在实例对象原型链上的任意一个环节都返回true

instanceof具体案例2

 console.log(Object instanceof Function) // true 即 object = new Function 下图红粗线
 console.log(Object instanceof Object) // true 下图黄粗线
 console.log(Function instanceof Function) // true 下图蓝粗线
 console.log(Function instanceof Object) // true 下图绿粗线

  function Foo() {}
  console.log(Object instanceof  Foo) // false 下图黑粗线 可见不经过object的隐性原型链  所以为false

Function是通过new自己产生的实例

利用同样的方法进行分析:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值