首页 > 编程语言 > 详细

如何判断一个对象是不是数组类型完美方案

时间:2020-07-25 11:25:45      阅读:113      评论:0      收藏:0      [点我收藏+]

typeof  操作符可以用来检测给定变量的数据类型,返回的值有以下几种:undefined,boolean,string,number,object,function   结果:  object null Array 都会是 object类型

该方法无法判断一个对象是不是数组类型


 

3.根据构造函数来判断

instanceof操作符可以来表示实例是否属于某个构造函数创建的。  

技术分享图片

从上图来看,obj1是构造函数Array的实例没问题,obj4也是构造函数的实例类型,显然obj4应该是对象数据类型,为什么会产生这种情况,obj4.__proto__=obj1,obj4改变了它的原型指向,

因为改变了obj4的原型指向导致使用instanceof字符判断出obj4也为数组类型了,所以此方法也不可取。

该方法无法判断一个对象是不是数组类型


 

断一个对象是不是数组类型最可靠的方法是这两种:

Object. prototype.toString.call(obj)===[ object Array]

Array. isArray(obj)。

如何判断一个对象是不是数组类型完美方案

原文:https://www.cnblogs.com/ddqyc/p/13375497.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!