javascript检测对象类型的方法

//JS Object.toString()测试对象的类型
//JS o instanceof C 运算符与o.constructor属性只能根据已知的类进行测试对象,对于未知的对象,可以通过下面的方法检测其准确的类型:
 function getType(x){
  
  if(x == null)return "null";
  
  var t = typeof x;
  if(t != "object")return t;
  
  var c = Object.prototype.toString.apply(x);
  c = c.substring(8,c.length - 1);
  if(c != "Object")return c;
  
  if(x.constructor == Object)return c;
  
  if("classname" in x.constructor.prototype && typeof x.constructor.prototype.classname == "string")return x.constructor.prototype.classname;
  
  return "[unknown type]";
 
 }
 var num = 2014.1;
 var str = "feiesoft.com";
 var boo = false;
 var arr = new Array();
 var fun = function(){};
 var obj = {};
 var now = new Date();
 var win = this;

 document.writeln("getType(num) = " + getType(num));// getType(num) = number
 document.writeln("getType(str) = " + getType(str));// getType(str) = string
 document.writeln("getType(boo) = " + getType(boo));// getType(boo) = boolean
 document.writeln("getType(arr) = " + getType(arr));// getType(arr) = Array
 document.writeln("getType(fun) = " + getType(fun));// getType(fun) = function
 document.writeln("getType(obj) = " + getType(obj));// getType(obj) = Object
 document.writeln("getType(now) = " + getType(now));// getType(now) = Date
 document.writeln("getType(win) = " + getType(win));// getType(win) = Window

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值