js类型的判定

        js存在两套类型系统:基本数据类型和对象类型,其中基本数据类型包括5种:undefined,null,string,number,boolean。对象类型包括Array,RegExp等等。js对基本类型的判断是靠typeof操作符来判定,对象类型判断是靠instanceof和in操作符来判定。但这些判定无法识别Null,RegExp,Array,Arguments等细分对象类型。

       typeof可识别出的类型有:string,boolean,number,function,undefined,object,在ie浏览器下,会出现unknow类型

       其中 string,number,function,boolean可通过typeof来判断

       undefined 可通过void 0来判断

       null 可通过 null来判断

      

      但Array、RegExp如何判断呢?

      通过Object.prototype.toString.call()来实现判断,例子如下:

      var arr=[1,2,3];
      Object.prototype.toString.call(arr)==='[object Array]'

     var reg=new RegExp("ab");
     Object.prototype.toString.call(reg)==='[object RegExp]'

     Object.prototype.toString可判断的类型有:"Arguments", "Array", "Boolean", "Date", "Error", "Function", "JSON", "Math", "Number", "Object", "RegExp", "String","Null","Undefined"


null,undefined,NaN判断可通过:

function isNaN(obj){

return obj!==obj;

}

function isUndefined(obj){

  return void 0 ===obj;

}


function isNull(obj){

return obj===null;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值