判断一个变量是数组还是对象

1.typeof

判断字符串得到string,

数字和NaN得到number,

函数会得到function等,

但是判断数组,对象和null时都会得到object,

2.instanceof

Var arr = []

Var obj={

a:’aa’

}

console.log(arr instanceof Array);      //true

console.log(arr instanceof Object);     //true

console.log(obj instanceof Array);      //false

console.log(obj instanceof Object);     //true

 instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性,意思就是该变量通过原型链上能否找到构造函数的prototype 属性

3.construcyor

var arr = ['aa','bb','cc'];

  var obj = {

            'a': 'aa',

            'b': 'bb',

            'c': 'cc'

        };

        console.log(arr.constructor === Array);      //true

        console.log(arr.constructor === Object);     //false

        console.log(obj.constructor === Object);     //true

4.Object.prototype.toString.call()

        var a = NaN

        var arr = ['aa','bb','cc'];

        var obj = {

            'a': 'aa',

            'b': 'bb',

            'c': 'cc'

        };

       var res = Object.prototype.toString.call(arr);

        console.log(res);   //[object Array]

        var res2 = Object.prototype.toString.call(obj);

        console.log(res2);   //[object Object]

        var res3 = Object.prototype.toString.call(a);

        console.log(res3);   //[object Number]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值