判断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 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: typeof
相关日志:
评论: 7 | 引用: 0 | 查看次数: -
回复回复zhenn[2010-01-03 08:23 PM | del]
仁兄,做个友链,已做好贵站链接。。www.men-ideal.com
回复回复Tlm々锋[2009-08-24 06:13 PM | del]
不能发代码的吗??
什么评论中包含屏蔽字符
回复回复ss[2009-08-05 04:24 PM | del]
null是object, Object是function
能改进下么?
回复来自 puterjam 的评论 puterjam 于 2009-08-05 08:12 PM 回复
嘿嘿谢谢提醒,加上了对null的特殊处理
回复回复ss[2009-08-05 04:13 PM | del]
null呢
回复回复木头[2009-07-31 03:56 PM | del]
不错,犀牛书里面有讲
回复回复影子[2009-07-30 10:58 AM | del]
- -#
看不懂撒
好久没来咯
o ho?
发现有变化..
标题?带阴影效果了
回复回复easyQuery[2009-07-29 09:41 AM | del]
为什么不用typeof呢?
回复来自 puterjam 的评论 puterjam 于 2009-07-29 09:56 AM 回复
typeof 无法准确判断 object 的类型呀
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.