首页 > 代码库 > javascript 的工具方法 --- 类型判断

javascript 的工具方法 --- 类型判断

Javascript中常见类型对象有:

Boolean, Number, String, Function, Array, Date, RegExp, Object, Error, Symbol等等.

下面提供区分这几种类型的工具方法,前提是使用javascript,如果项目中使用了jquery或者angularjs等框架,就没必要自己再写这样的工具函数。

第一种:最笨的办法,一一列举

function isBoolean(value) {return typeof value =http://www.mamicode.com/== ‘boolean‘;}>

这样看下来,这些方法其实就是利用 typeof和toString方法,在外面定义一个function而已,也不叫封装,也没必要封装。

使用时,直接用就可以。那如果说在使用时,不知道什么时候用typeof,什么时候用toString。

很简单嘛,直接拷贝上面代码(坏笑)。要记住这么多方法名也还挺不容易的,哦?有规律,类别首字母大写,前面加"is"。

 

 

第二种,jQuery式封装,定义一个统一接口

这种方法相对于上面的方法,就简单太多了。

想要知道某个对象是什么类型,调用type()方法。

想要知道某个对象是不是某类型,使用type() ===‘某类型的小写字符串‘,例如:type() ===‘string‘ 或者 type() ===‘array‘

var class2type = {};
"Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ).forEach(function(element,index){
	class2type[ "[object " + element + "]" ] = element.toLowerCase();
});

function type(obj) {
	if ( obj == null ) {
		return obj + "";
	}

	return typeof obj === "object" || typeof obj === "function" ?
		class2type[ toString.call( obj ) ] || "object" :
		typeof obj;
}

 

javascript 的工具方法 --- 类型判断