js一个简易的类型判断

 1  function  type (obj, type) {
 2       var  ts  =  {}.toString,
 3          _types  =  {
 4               ' undefined '  :  ' undefined ' ,
 5               ' number '  :  ' number ' ,
 6               ' boolean '  :  ' boolean ' ,
 7               ' string '  :  ' string '
 8          },
 9          t  =  obj === null   ?   ' null '  :
10          (_types[ typeof  obj]  ||  ts.call(obj).slice( 8 , - 1 ).toLowerCase());
11       return  type  ?  t === type : t;
12  }
13 
14  alert(type( null ));
15  alert(type({}));
16  alert(type([]));
17  alert(type( '' ));
18  alert(type( 1 ));
19  alert(type( new  Date()));
20  alert(type( / r / ));
21  alert(type( new  Error()));
22  alert(type( function (){}));
23  alert(type(window));  //?
24  alert(type(document));  //?
25  alert(type(document.createElement( ' div ' )));  //?
26  alert(type(document.getElementsByTagName( ' * ' )));  //?

 

后面4个测试可以看出 该方法对 window 等对象不能作出准确判断,但在实际使用基本够用了。

 使用方法一:

 type({});// return "object";

 使用方法二:

  type({},"object");// return true;

 

转载于:https://www.cnblogs.com/tangoboy/archive/2011/08/25/2153302.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值