阅读背景:

typeof不好判断null、Array,Object等,自己封装一个类型判断方法,可精确判断_编程界明世隐的博客

来源:互联网 

这里参考了jQuery的做法:

var class2type={};	//定义一个对象
var typeArr = "Boolean Number String Function Array Date RegExp Object".split(" ");//将所有的类型放到一个数组
for(var i=0,len=typeArr.length;i<len;i++){
	var name=typeArr[i];
	class2type[ "[object " + name + "]" ] = name;
}

function getType( obj ) {
	return obj == null ?
		String( obj ) :
		class2type[ Object.prototype.toString.call(obj) ] || "undefined";
}


console.log(getType("abc"));//字符串String
console.log(getType(1));//数字Number
console.log(getType(null));//null
console.log(getType(undefined));//undefined
console.log(getType(function(){}));//Function
console.log(getType({}));//Object
console.log(getType(/test/));//RegExp
console.log(getType(true));//Boolean
console.log(getType([]));//Array
console.log(getType(new Date()));//Datevar class2type={};	//定义一个对象
v



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: