JavaScript 是一种动态类型的编程语言,它可以根据变量的值来决定变量的类型,这也就意味着,在 JavaScript 中,变量的类型可以在运行时被改变。而 JavaScript 数组是由一组有序的值组成,可以存储任何类型的值,数组中的每个值都有一个索引,从0开始递增,在 JavaScript 中判断一个变量是不是数组时,我们需要判断它是否具有有序的值,以及这些值是否具有索引。
JavaScript 提供了两种方法来判断一个变量是否为数组:
1. 使用 Array.isArray() 方法
Array.isArray() 方法用于判断一个变量是否为数组,它接受一个参数,如果参数是一个数组,则返回 true,否则返回 false。它是由 ECMAScript 5 引入的,不支持低版本的浏览器。
var arr = [1, 2, 3]; console.log(Array.isArray(arr)); // true
2. 使用 instanceof 操作符
instanceof 操作符用于判断一个变量是否为某个特定类型的实例,它接受两个参数,第一个参数是要判断的变量,第二个参数是要判断的类型,如果变量是指定类型的实例,则返回 true,否则返回 false。
var arr = [1, 2, 3]; console.log(arr instanceof Array); // true
3. 使用 Object.prototype.toString() 方法
Object.prototype.toString() 方法用于返回一个字符串,表示指定对象的类型,它接受一个参数,即要检查的对象,如果参数是一个数组,则返回 '[object Array]',否则返回 '[object Object]'。
var arr = [1, 2, 3]; console.log(Object.prototype.toString.call(arr)); // [object Array]
以上就是 JavaScript 中判断数组类型的三种方法,它们的使用方法都很简单,只需要传入要检查的变量,就可以判断出变量是否为数组了。