您的位置:首页 > Web前端 > JavaScript

js类型的判定

2015-12-04 15:45 459 查看
        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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: