代码展示:
function type(target) { var template = { "[object Array]" : "array", "[object Object]" : "object", "[object Number]" : "number - object", "[object Boolean]" : "boolean - object", "[object String]" : "string - object" }
//判断null类型 if(target === null){ return null; } if(typeof(target) == "object"){ var str = Object.prototype.toString.call(target); return template[str]; }else{ return typeof(target); } }
结果展示:
代码优化:
function type(target) { var ret = typeof (target), template = { "[object Array]": "array", "[object Object]": "object", "[object Number]": "number - object", "[object Boolean]": "boolean - object", "[object String]": "string - object", }, str = Object.prototype.toString.call(target); return (target === null)?null:(ret == "object") ? template[str] : ret; }