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)。