03-instanceof的不准确和isArray的准确

instanceof : 是沿着原型链查找机制去判定的

B的原型继承了a的实例,B的原型上就有了a的私有属性和能通过原型链访问到A的公用属性,因为B的原型已经继承了A的一个实例,也就是说B的原型的上级域已经是属于A了。

以后B的每一个实例从严格意义上都应该属于 A了,但是insanceof 检测的结果 既属于A 也属于B 。就不准确

分析图解:

 

案例2:原型悄悄被改变了,再次判断就不属于数组了

 

用原型上的toString方法检测才是Array类型

 

 

 

isArray:

 这么一看 isArray 跟原型上的toString 检测结果一致。说明是准确的

 

 

 

posted @ 2021-03-24 15:53  猎奇游渔  阅读(90)  评论(0编辑  收藏  举报