js如何判断数组是Array类型

1、使用instanceof方法:用于判断一个变量是否某个对象的实例,左边操作数是一个对象,右边操作数是一个函数对象或者函数构造器

var arr = []; console.log(arr instanceof Array)

2、使用constructor方法:在W3C定义中的定义:constructor 属性返回对创建此对象的数组函数的引用,就是返回对象相对应的构造函数。从定义上来说跟instanceof不太一致,但效果都是一样的。

那么判断各种类型的方法

console.log([].constructor == Array);  //true

注意:

使用instaceof和construcor,被判断的array必须是在当前页面声明的!

3、使用 Object.prototype.toString.call(arr) === '[object Array]'方法

function isArray(o) {

  return Object.prototype.toString.call(o);

}

var arr=[2,5,6,8];

var obj={name:'zhangsan',age:25};

var fn = function () {}

console.log(isArray(arr)); //[object Array]

4、方法四:ES5定义了Array.isArray:

Array.isArray([]) //true

你可能感兴趣的:(js如何判断数组是Array类型)