数据类型的检测

javaScript6中基本数据类型

数据类型说明 
 null空值。表示不存在,当对象的属性赋值为null,表示删除该属性。
 number数值。最原始的数据类型,表达式计算的载体。  
 undefined 未定义。当声明变量而没有赋值时显示该值。
 string字符串 。最抽象的数据类型,信息传播的载体。  
 boolean 布尔值。最机械的的数据类型,逻辑运算的载体。
 object 对象。面向对象的基础。

一、数据类型的检测

1、使用typeof检测

function type(a){                    //返回值类型数据的类型字符串
   return (a === null)?"null":(typeof a); 
//如果是null值,则返回字符串“null”,否则返回(typeof a)表达式的值
}
alert(type(null));

以上代码可以防止因为null值而影响基本数据的类型检测。

2、使用construction检测

对于对象、数组等复杂数据,可以使用Object对象的construction属性进行检测。

数据类型检测

 值(value)typeof value value.constructor 
 var value=1 "number"Number 
 var value="a" "string"String 
 var value=true "boolean"Boolean 
 var value={} "object"Object 
 var value=new Object() "object"Object
 var value=[] "object"Object  
 var value=new Array() "object"Array 
 var value=function(){} functionFunction
 function className(){};
 var value=new className(); 
 "object"className

使用construction属性可以检测绝大多数数据类型,但对于undefined和null特殊值,就不能使用conzhestruction属性,否则抛出异常。这时可以先把值转换为布尔值,如果为true,则说明是存在值的,再调用construction属性。

对于数值直接量也不能直接使用construction属性。

3、封装类型检测方法:toString()

分析不同类型对象的toString()方法返回值,会发现由Object对象定义的tostring()方法返回的字符串形式总是[object class].

上一篇: javaScript 预编译期和执行期
下一篇: javaScript n++与++n的区别
作者邮箱: 203328517@qq.com