首頁  >  文章  >  web前端  >  javascript實作類似java中getClass()得到物件類別名稱的方法_javascript技巧

javascript實作類似java中getClass()得到物件類別名稱的方法_javascript技巧

WBOY
WBOY原創
2016-05-16 15:48:531744瀏覽

本文實例講述了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程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn