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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。