码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 数据类型判断

时间:2015-11-29 18:05:13      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

1. typeof

typeof返回值为字符串,有六种类型

number,string,boolean,function,undefined,object,

typeof通常用来区分undefined和function类型,无法分辨复杂类型,例如array类型,和plain object类型

用 typeof(reValue) === "undefined" 来区分undefined,不用 reValue === undefined 来区分undefined,是因为reValue未声明时,浏览器直接报错

用typeof(reValue) === "function" 来检测function


2. instanceof

instanceof用来判断对象实例与类型的关系,返回值为bool类型,不能跨iframe。

 

3. constructor

constructor检测是使用对象的constructor属性,其值为该对象类型的构造函数的引用。例如,num.constructor的值为function Number(){native code}。此方法可以用来判断Array类型,例如 obj.constructor === Array 来判断其类型是否为Array。

constructor方法有一些缺点,一是constructor属性可以被修改,二是constructor的判断不能穿越iframe。


4. Object.prototype.toString.call

此方法调用具体对象,会返回字符串,共11种类型,如下

‘[object Number]‘ ‘[object String]‘ ‘[object Boolean]‘ ‘[object Array]‘ ‘[object Object]‘
‘[object Function]‘ ‘[object Undefined]‘ ‘[object Null]‘ ‘[object Date]‘ ‘[object RegExp]‘ ‘[object Error]‘

此方法是用来检测类型的终极方法,jquery的type()方法就是使用此方法来判断的,具体使用类型判断时候,可以解决$.type的实现。

总结: 具体使用时,可用typeof检测undefined和function,其他类型的检测使用toSting.call或者第三方封装的type方法。


参考:http://www.2cto.com/kf/201507/414817.html

javascript 数据类型判断

标签:

原文地址:http://www.cnblogs.com/mengff/p/5004913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!