JS--判断是对象还是数组
原文网址:JS--判断是对象还是数组-CSDN博客
简介
本文介绍JS判断是否是对象或者数组的方法。
法1:instanceof
var arr1 = [1,2,3,4];
var arr2 = [];
var obj = {};
console.log(arr1 instanceof Array); //true
console.log(arr2 instanceof Array); //true
console.log(obj instanceof Array); //false
法2:对象的constructor属性
var arr1 = [1,2,3,4];
var arr2 = [];
var obj = {};
console.log(arr1.constructor); //Array
console.log(arr2.constructor); //Array
console.log(obj.constructor); //Object
可以这样判断:
return arr1.constructor === Array;
法3:Object.prototype.toString.call
console.log(Object.prototype.toString.call()); //undefined
console.log(Object.prototype.toString.call("123")); //string
console.log(Object.prototype.toString.call(123)); //numberconsole.log(Object.prototype.toString.call([1,2,3])); //Array
console.log(Object.prototype.toString.call({})); //Object
法4:ES5中的Array.isArray
var arr1 = [1,2,3,4];
var arr2 = [];
var obj = {};
console.log(Array.isArray(arr1)); //true
console.log(Array.isArray(arr2)); //true
console.log(Array.isArray(obj)); //false