关于原型链中的instanceof探索

原型链中的instanceof探索

写在前面:如果此篇博客中有任何错误的地方,欢迎大家的指正!让我们共同进步!
如果觉得这篇博客有用就点赞+收藏+关注三连吧!

记录一下今天所学JS原型链中关于instanceof判定的探索。


本人也在学习中,欢迎各位同学的指正!
在这里插入图片描述
理解如下:
A是一个实例,B是一个构造函数
B只能走一步,找到B.prototype
而A若有__proto__,则可以一直向下寻找,直到找不到为止。

举例如下,判断两个instanceof语句的判定结果。
f1 instanceof Foo 图示解析如下
在这里插入图片描述
f1 instanceof Object 图示解析如下
在这里插入图片描述


举例2
分别判断下面的语句的正确与否。
在这里插入图片描述
执行结果截图如下:
在这里插入图片描述
分析如下:

  1. Object instanceof Function
    True
    在这里插入图片描述
    这里的__proto__是因为Object()是new Function()产生的,因此他也是Function函数的实例对象,进而有__proto__属性。

  1. Object instanceof Object
    True
    在这里插入图片描述

  2. Function instanceof Function
    True
    在这里插入图片描述
    因为Function是 new自己产生的,因此才有Function()的两个原型指向同一个。


  1. Function instanceof Object
    True
    在这里插入图片描述

  1. Object instranceof Foo
    False
    (Function instranceof Foo)同理也为false

在这里插入图片描述


整个原型链如图:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45664402/article/details/109148047