方案一
分为简单数据类型和复杂数据类型两种情况来判断
function getVarType(param){
var typeStr=typeof(param);
var ret;
// 复杂数据类型
if(typeStr=='object'){
if(param instanceof Array){
ret='Array';
}
if(param instanceof Object){
ret='Object';
}
}else{
//简单数据类型
ret=typeStr;
}
return ret;
}
方案二
通过call()或apply()方法调用Object.prototype.toString()
function getType(param) {
var typeStr = Object.prototype.toString.call(param);
var ret;
switch (typeStr) {
case '[object Object]':
ret = 'Object';
break;
case '[object Array]':
ret = 'Array';
break;
case '[object String]':
ret = 'String';
break;
case '[object Number]':
ret = 'Number';
break;
case '[object Boolean]':
ret = 'Boolean';
break;
case '[object Function]':
ret = 'Function'
break;
}
return ret;
}
网友评论