判断一个对象是不是数组的三种方法
Posted 柒叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断一个对象是不是数组的三种方法相关的知识,希望对你有一定的参考价值。
1、使用instanceof操作符
2、Array.isArray() (ES5新增的方法)
3、使用Object.prototype上的原生toString()方法判断。
使用方法:
Object.prototype.toString.call(value)
var a={}; var b=[]; var frame=document.createElement("iframe");//创建一个框架 document.body.appendChild(frame); var c=window.frames[0].Array;//取得框架全局执行环境中的Array构造函数 var d=new c();//在框架全局执行环境中创建一个数组d console.log(Object.prototype.toString.call(a));//[object Object] console.log(Object.prototype.toString.call(b));//[object Array] console.log(Object.prototype.toString.call(d));//[object Array] function Person() { this.name=name; } var n=new Person(); console.log(Object.prototype.toString.call(n));//[object Object]
该方法不能检测非原生构造函数的函数名,因此定义的任何构造函数都将返回[object Object]。
以上是关于判断一个对象是不是数组的三种方法的主要内容,如果未能解决你的问题,请参考以下文章