Cherish_Now

导航

用js判断一个对象是不是数组

var obj = [];

1.obj instanceof Array 判断对象是否是Array的实例

console.log(obj instanceof Array);//true

2.Object.prototype.toString.call(obj) ===‘[object Array]’

Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象
console.log(Object.prototype.toString.call(obj) ==='[object Array]');//true

3.Array.isArray(obj) 调用数组的isArray方法

console.log(Array.isArray(obj));//true

4.obj.constructor===Array

console.log(obj.constructor===Array);//true

5.判断对象是否有push等数组的一些方法。(有兼容问题,但简单易用)

另外:如果判断一个对象是否是函数可以使用Object.prototype.toString

console.log(Object.prototype.toString.call(obj)==='[object Function]') //true或false

posted on 2019-03-13 17:12  Cherish_Now  阅读(1684)  评论(0)    收藏  举报