javascript实现类似java中getClass()得到对象类名的方法
本文实例讲述了javascript实现类似java中getClass()得到对象类名的方法。分享给大家供大家参考。具体如下:
在javascript中没有能够返回特定类型名的函数
如一个对象console.log(obj);
得到的是[objectHtmlTableCellElement]如果想要一个函数能够返回HtmlTableCellElementjs中默认没有这样的函数可以自己实现一个
vargetObjectClass=function(obj){
if(obj&&obj.constructor&&obj.constructor.toString()){
/*
*forbrowserswhichhavenamepropertyintheconstructor
*oftheobject,suchaschrome
*/
if(obj.constructor.name){
returnobj.constructor.name;
}
varstr=obj.constructor.toString();
/*
*executedifthereturnofobject.constructor.toString()is
*"[objectobjectClass]"
*/
if(str.charAt(0)=='[')
{
vararr=str.match(/\[\w+\s*(\w+)\]/);
}else{
/*
*executedifthereturnofobject.constructor.toString()is
*"functionobjectClass(){}"
*forIEFirefox
*/
vararr=str.match(/function\s*(\w+)/);
}
if(arr&&arr.length==2){
returnarr[1];
}
}
returnundefined;
};
希望本文所述对大家的javascript程序设计有所帮助。