这个功能需要写一点代码来实现。下面的函数可以得到一个变量的类型,调用时传递一个变量进去,会返回用字符串形式描述的变量类型。
复制代码 代码如下:
//得到x的类型,返回类型名称 
function gettype(x) { 
//如果x为null,则返回null 
if (x == null) return null; 
var t = typeof x; 
//如果x为简单类型,则返回类型名称 
if (t.tolocalelowercase() != object) return t; 
//调用object类的tostring方法得到类型信息 
//object.tostring方法返回类似这样的信息[object 类名] 
t = object.prototype.tostring.apply(x).tolowercase(); 
//截取tostring方法返回值的类名部分 
t = t.substring(8, t.length - 1); 
if (t.tolocalelowercase() != object) return t; 
//检查x确实为object类型 
if (x.constructor == object) return t; 
//从构造函数得到类型名称 
if (typeof x.constructor == function) 
return getfunctionname(x.constructor); 
return unknow type; 
} 
//得到函数名称 
function getfunctionname(fn) { 
if (typeof fn != function) throw the argument must be a function.; 
var reg = /\w*function\s+([\w\$]+)\s*\(/; 
var name = reg.exec(fn); 
if (!name) { 
return '(anonymous)'; 
} 
return name[1]; 
}
   
 
   