Heim  >  Artikel  >  Web-Frontend  >  JavaScript implementiert eine Methode ähnlich getClass() in Java, um die Fähigkeiten der Objektklasse name_javascript zu erhalten

JavaScript implementiert eine Methode ähnlich getClass() in Java, um die Fähigkeiten der Objektklasse name_javascript zu erhalten

WBOY
WBOYOriginal
2016-05-16 15:48:531744Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie Javascript eine Methode ähnlich getClass() in Java implementiert, um den Objektklassennamen zu erhalten. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Es gibt keine Funktion in JavaScript, die einen bestimmten Typnamen zurückgeben kann

Wie ein Objekt console.log(obj);
Was Sie erhalten, ist [object HtmlTableCellElement]. Wenn Sie eine Funktion wünschen, die HtmlTableCellElement zurückgeben kann, gibt es in js standardmäßig keine solche Funktion

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; 
};

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn