首页 > 建站教程 > JS、jQ、TS >  js 判断是不是数组正文

js 判断是不是数组

1.Array.isArray() 用于判断一个对象是否为数组。如果对象是数组返回 true,否则返回 false。

Array.isArray([]) // true


2.constructor 属性返回对创建此对象的函数的引用。

[].constructor === Array //true


3.instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上

[] instanceof Array //true


4.调用Object上原型toString方法(返回对象的具体类型)

Object.prototype.toString.call([]).slice(8,-1) === 'Array'//true


5.依靠原型链

({}).toString.call([]).slice(8,-1) === 'Array' // true


补充


typeof 原理

在 javascript 的最初版本中,使用的 32 位系统,为了性能考虑使用低位存储了变量的类型信息:

000:对象
1:整数
010:浮点数
100:字符串
110:布尔

有 2 个值比较特殊:

undefined:用 - (−2^30)表示。
null:对应机器码的 NULL 指针,一般是全零。