Javascript

js高级-对于instanceof的探讨

本文主要是介绍js高级-对于instanceof的探讨,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.instanceof()是如何判断的?

*表达式  A instanceof B 

A 为实例对象 B为构造函数(对象)

*判断标准 如果B函数显式的原型对象(注意只看b.protootype是否在a原型链上)在A对象的原型链上(有交叉),则返回true/否则false

 

例如对 Object instanceof Object 的结果true

前者作为一个对象实例,他是function的实例,它的_proto_ === function.prototype 而function.prototype是一个空的object实例对象,它的_proto_指向object函数原型

后者它作为一个object()构造函数,他的.prototype执行object函数原型

所以可以判断为true

 

要点在于,实例对象走隐式原型链,构造函数走显式原型链,如果两者皆是则两个属性都需要考虑

这篇关于js高级-对于instanceof的探讨的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!