1.不能用typeof (切记)
利用typeof除了array和null判断为object外,其他的都可以正常判断。
2.instanceof操作符
var arr = [1,2,3,1];
console.log(arr instanceof Array); // true
3.对象的constructor 属性
var arr = [1,2,3,1];
console.log(arr.constructor === Array); // true
4.使用 Object.prototype.toString 来判断是否是数组
Object.prototype.toString.call( [] ) === ‘[object Array]’ // true
5…使用 原型链 来完成判断
[].proto === Array.prototype // true var fun = function(){}fun.proto === Function.prototype // true
6.Array.isArray()
Array.isArray([]) // true
ECMAScript5将Array.isArray()正式引入JavaScript,目的就是准确地检测一个值是否为数组。IE9+、 Firefox 4+、Safari 5+、Opera 10.5+和Chrome都实现了这个方法。但是在IE8之前的版本是不支持的。
js怎么判断是数组
最新推荐文章于 2024-10-07 08:30:00 发布