判断js的数据类型方法

js中的数据类型主要分为基本类型和引用类型两大类:

基本类型:string、number、boolean、symbol(es6增加)、undefined、null 、undefined   

                  NaN属于number的特殊值

引用类型:object、Array、包装类(new Number())、Function 、RegExp、Date

                  null属于object,历史预留问题
 

检测变量的数据类型:

1、typeof

typeof 是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数据类型。返回的结果用该类型的字符串(全小写字母)形式表示,包括以下 7 种:number、boolean、symbol、string、object、undefined、function 等,且返回的都以字符串形式进行返回。

2、instanceof

instanceof 是用来判断 A 是否为 B 的实例,表达式为:A instanceof B,如果 A 是 B 的实例,则返回 true,否则返回 false。

3、constructor

4、toString

toString() 是 Object 的原型方法,调用该方法,默认返回当前对象的 [[Class]] 。这是一个内部属性,其格式为 [object Xxx] ,其中 Xxx 就是对象的类型。

Object.prototype.toString.call('') ;  // [object String]

参考链接:https://www.cnblogs.com/onepixel/p/5126046.html

 

在区分object的时候,可能要对包装类和基本类型进行一个区分:比如type(1)返回number,type(new Number(1))返回[object number]类型

//判断数据类型
        function type(data){
            var type = typeof(data);
            if(type == 'object'){
                var obj = Object.prototype.toString;
                type = obj.call(data)
            }
            return type;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值