目录
1.isArray()方法
用法:Array.isArray(变量),返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
let arr = [1, 2, 3]
console.log(Array.isArray(arr))
// true 返回true,说明变量arr是数组类型
2.instanceof运算符
instanceof
运算符用于检测某个对象是否是指定类(构造函数)的实例,因此可以使用该运算符判断变量是否为数组。如果是则返回true,否则返回false
用法:变量 instanceof Array
let arr = [1, 2, 3]
console.log(arr instanceof Array)
// true 返回true,说明变量arr是数组类型
3.isPrototypeOf方法
let arr = [1, 2, 3]
console.log(Array.prototype.isPrototypeOf(arr))
// true 返回true,说明变量arr是数组类型
4.Object.prototype.toString.call()
object.prototype.toString.call() 获取变量的类型字符串,然后判断其是否为 “[object Array]”。如果是则返回true,否则返回false
var arr = [1,2,3];
console.log( Object.prototype.toString.call(arr).indexOf('Array') > -1 );
// true 返回true,说明变量arr是数组类型
5.构造函数
通过原型链判断是否具有和数组同一原型链,如果是则返回true,否则返回false
用法:变量.constructor === Array
let arr = [1, 2, 3]
console.log(arr.constructor === Array)
// true 返回true,说明变量arr是数组类型
6.Object.getPrototypeOf()方法
let arr = [1, 2, 3]
console.log(Object.getPrototypeOf(arr) === Array.prototype)
// true 返回true,说明变量arr是数组类型
7.isPrototypeOf() 方法
let arr = [1, 2, 3]
console.log(Array.prototype.isPrototypeOf(arr))
// true 返回true,说明变量arr是数组类型