1、isArray 方法
isArray()
方法用于判断一个对象是否为数组。如果对象是数组返回 true
,否则返回 false
。
Array.isArray(arr); // true
2、对象原型
通过原型链判断是否具有和数组同一原型链的顶端。
arr.__proto__ === Array.prototype; // true
3、instanceof 运算符
用于检测构造函数的 prototype
属性是否出现在某个实例对象的原型链上
arr instanceof Array; // true
4、Object.prototype.toString.call()
所有原始数据类型都能通过该方法判断,具有通用性
Object.prototype.toString.call(arr); // "[object Array]" Object.prototype.toString.call(2); // "[object Number]" Object.prototype.toString.call(""); // "[object String]" Object.prototype.toString.call(true); // "[object Boolean]" Object.prototype.toString.call(undefined); // "[object Undefined]" Object.prototype.toString.call(null); // "[object Null]" Object.prototype.toString.call(Math); // "[object Math]" Object.prototype.toString.call({}); // "[object Object]" Object.prototype.toString.call([]); // "[object Array]" Object.prototype.toString.call(function () {}); // "[object Function]"