判断数组和对象的方法

1.typeof操作符

 利用typeof除了array和null判断为object外,其他的都可以正常判断

2.instanceof操作符

这个操作符是检测对象的原型链是否指向构造函数的prototype对象的。

var arr = [1,2,3]
console.log(arr.instanceof Array) // true

3.对象的constructor属性 
除了instanceof,每个对象还有constructor的属性,利用它似乎也能进行Array的判断。

var arr = [1,2,3]
console.log(arr.constructor === Array) // true

4.Object.prototype.toString

function isArrayFn (o) {
return Object.prototype.toString.call(o) === '[object Array]';
}
var arr = [1,2,3,1];
alert(isArrayFn(arr));// true 

5.Array.isArray

ECMAScript5将Array.isArray()正式引入JavaScript,目的就是准确地检测一个值是否为数组。IE9+、 Firefox 4+、Safari 5+、Opera 10.5+和Chrome都实现了这个方法。但是在IE8之前的版本是不支持的。

来自原文:https://blog.csdn.net/fanshuhai/article/details/80024761

posted @ 2021-02-20 11:45  胡柚柚学程序  阅读(869)  评论(0编辑  收藏  举报