判断Javascript变量类型的函数

toString 本来是用来做字符串转换的,不过现在流行用来做变量类型的检查了。舜子这里也写了一个函数,方便检查变量的类型,可以用来代替 typeof

function getType(o) {
  var _t; return ((_t = typeof(o)) == "object" ?
o==null && "null" || Object.prototype.toString.call(o).slice(8,-1):_t).toLowerCase();
}

 

执行结果:

getType("abc"); //string
getType(true); //boolean
getType(123); //number
getType([]); //array
getType({}); //object
getType(function(){}); //function
getType(new Date); //date
getType(new RegExp); //regexp
getType(Math); //math

getType(null); //null



[本日志由 puterjam 于 2009-08-05 08:18 PM 编辑]
上一篇: Gecko 提供 HTML5 parser 支持了
下一篇: 漫画:混乱的标记语言XHTML2/HTML5
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: typeof
相关日志:
评论: 8 | 引用: 0 | 查看次数: -
guanxin8977[2010-11-06 09:16 AM | | | 111.164.239.140 | del | 回复回复]
用Constructor不是可以直接做判断么
zhenn[2010-01-03 08:23 PM | | | 123.121.0.84 | del | 回复回复]
仁兄,做个友链,已做好贵站链接。。www.men-ideal.com
Tlm々锋[2009-08-24 06:13 PM | | | 61.144.67.234 | del | 回复回复]
不能发代码的吗??
什么评论中包含屏蔽字符
ss[2009-08-05 04:24 PM | | | 219.134.64.98 | del | 回复回复]
null是object, Object是function
能改进下么?
回复来自 puterjam 的评论 puterjam 于 2009-08-05 08:12 PM 回复
嘿嘿谢谢提醒,加上了对null的特殊处理
ss[2009-08-05 04:13 PM | | | 219.134.64.98 | del | 回复回复]
null呢
木头[2009-07-31 03:56 PM | | | 116.252.47.199 | del | 回复回复]
不错,犀牛书里面有讲
影子[2009-07-30 10:58 AM | | | 119.139.195.204 | del | 回复回复]
- -#
看不懂撒
好久没来咯
o ho?
发现有变化..
标题?带阴影效果了
easyQuery[2009-07-29 09:41 AM | | | 219.136.130.144 | del | 回复回复]
为什么不用typeof呢?
回复来自 puterjam 的评论 puterjam 于 2009-07-29 09:56 AM 回复
typeof 无法准确判断 object 的类型呀
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱:
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 500 字 | UBB代码 开启 | [img]标签 关闭