用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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM