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 指针,一般是全零。

猜你喜欢

转载自blog.csdn.net/m0_37285193/article/details/114583394
今日推荐