简述:今天分享一下,判断一个数据是否是一个数组的方法,具体判断方法如下;
var arr= [];
1、实例的__proto__属性(IE不支持);
arr.__proto__ === Array.prototype //true
2、实例的constructor属性;
arr.constructor === Array //true
3、instanceof方法;
arr instanceof Array //true
4、Array.isArray方法(es6方法);
Array.isArray(arr) //true
5、toString方法(兼容性最好);
Object.prototype.toString.call(obj).slice(8, -1) === "Array" //true原因:Object.prototype.toString.call(arr) //输出[object Array]
6、isPrototypeof(判断当前对象是否是另一个对象的原型);
Array.prototype.isPrototypeOf(arr) //true参考:Object.prototype.isPrototypeOf(arr) //truelet obj = { }Array.prototype.isPrototypeOf(obj) //falseObject.prototype.isPrototypeOf(obj) //true
7、Sysmbol.hasinstance(Symbol创建的方式只有Symbol());
Array[Symbol.hasInstance](arr) //true
感觉有用,就一键三连,感谢(●'◡'●)