给你一个值,如何判断其是对象还是数组???
我们先给出数据
javascript">var lists = [1,2,3,4,5]var objs = {length:5
}
我们分别尝试如下五种方法
javascript">console.log('(✘)使用length',lists.length,objs.length);
console.log('(✔)使用isArray',Array.isArray(lists),Array.isArray(objs));
console.log('(✔)使用constuctor',lists.constructor === Array,objs.constructor === Array);
console.log('(✔)使用instanceof',lists instanceof Array,objs instanceof Array);
输出结果如下
所以有三种常见方法判断: constructor属性,Array.isArray方法,instanceof关键字
这里面推荐使用:Array.isArray方法,instanceof关键字