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;
}
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;
}
相关文章推荐
- JavaScript闭包原理
- json规范
- javascript垃圾回收机制
- 纯js轮播效果(减速效果)待改进
- js函数中 "闭包"概念的简单认识
- 完美版js金钱正则表达式校验
- JS模拟百度文库评分
- JavaScript的匿名函数
- XML.ObjTree -- XML source code from/to JavaScript object like E4X
- javascript逻辑运算符“||”和“&&”
- js函数的实参对象arguments 和其2个属性callee、caller
- js返回上一页的方法
- 递归遍历json
- HTML中javascript的<script>标签使用方法详解
- JS -- 判断字符串中是否包含中文
- 将将List json 转成List<?>实体
- 详解JavaScript逻辑And运算符
- 一些js技巧函数
- jscolor
- canvas绘图工具加上JavaScript特效绘制出能动的太阳系