本文實例講述了javascript實作類似java中getClass()得到物件類別名稱的方法。分享給大家供大家參考。具體如下:
在javascript中沒有能夠傳回特定型別名稱的函數
如一個物件 console.log(obj);
得到的是[object HtmlTableCellElement]如果想要一個函數能夠回傳HtmlTableCellElement js中預設沒有這樣的函數 可以自己實作一個
var getObjectClass = function (obj) { if (obj && obj.constructor && obj.constructor.toString()) { /* * for browsers which have name property in the constructor * of the object,such as chrome */ if(obj.constructor.name) { return obj.constructor.name; } var str = obj.constructor.toString(); /* * executed if the return of object.constructor.toString() is * "[object objectClass]" */ if(str.charAt(0) == '[') { var arr = str.match(/\[\w+\s*(\w+)\]/); } else { /* * executed if the return of object.constructor.toString() is * "function objectClass () {}" * for IE Firefox */ var arr = str.match(/function\s*(\w+)/); } if (arr && arr.length == 2) { return arr[1]; } } return undefined; };
希望本文所述對大家的javascript程式設計有所幫助。