js类型的判定

来源:互联网 发布:致远oa办公软件 编辑:程序博客网 时间:2024/03/29 20:41

        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;

}



0 0
原创粉丝点击