Maison >interface Web >js tutoriel >JavaScript implémente une méthode similaire à getClass() en Java pour obtenir les compétences name_javascript de la classe d'objet

JavaScript implémente une méthode similaire à getClass() en Java pour obtenir les compétences name_javascript de la classe d'objet

WBOY
WBOYoriginal
2016-05-16 15:48:531773parcourir

L'exemple de cet article décrit comment javascript implémente une méthode similaire à getClass() en Java pour obtenir le nom de la classe d'objet. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Il n'existe aucune fonction en JavaScript qui puisse renvoyer un nom de type spécifique

Comme un objet console.log(obj);
Ce que vous obtenez est [object HtmlTableCellElement]. Si vous voulez une fonction qui peut renvoyer HtmlTableCellElement, une telle fonction n'existe pas par défaut dans js. Vous pouvez en implémenter une vous-même

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

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn