如何判断一个变量是数组Array类型

本文介绍了在JavaScript中检查变量是否为数组实例的四种常见方法:使用instanceof操作符、对象的constructor属性、Array.isArray()函数及Object.prototype.toString方法。每种方法都有其适用场景,了解它们有助于更灵活地进行类型检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. instanceof操作符

    var arr = [1,2,3]
    console.log(arr instanceof Array) //true

2. 对象的constructor属性

    var arr = [1,2,3]
    console.log(arr.constructor === Array) //true

3. Array.isArray()(ie9以上支持)

Array.isArray([1, 2, 3]);  // true

4. Object.prototype.toString

这个方法稍微绕了点弯,我们先看以下一下例子就明白了。

    var num = 1
    var str = 'abc'
    console.log(Object.prototype.toString.()) //[object Object]
    console.log(Object.prototype.toString.call(str))//[object String]
    console.log(Object.prototype.toString.call(num))//[object Number]

call改变toString的this引用为待检测的对象,返回此对象的字符串表示,然后对比此字符串是否是’[object Array]’,以判断其是否是Array的实例。

    var arr= [1,1]
    console.log(Object.prototype.toString.call(arr))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值