javascript实现类似java中getClass()得到对象类名的方法


Posted in Javascript onJuly 27, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
DOM精简教程
Oct 03 Javascript
HTML页面登录时的JS验证方法
May 28 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
jQuery实现的简单分页示例
Jun 01 Javascript
Angular 常用指令实例总结整理
Dec 13 Javascript
js弹性势能动画之抛物线运动实例详解
Jul 27 Javascript
JavaScript继承与多继承实例分析
May 26 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
jquery实现动态改变css样式的方法分析
May 27 jQuery
原生js实现无缝轮播图
Jan 11 Javascript
Js图片点击切换轮播实现代码
Jul 27 Javascript
js实现简单的随机点名器
Sep 17 Javascript
AngularJS的一些基本样式初窥
Jul 27 #Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 #Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
Jul 27 #Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
Jul 27 #Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 #Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
Jul 27 #Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
Jul 27 #Javascript
You might like
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python复制目录结构脚本代码分享
2015/03/06 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
秋季运动会表扬稿
2014/01/16 职场文书
党支部承诺书范文
2014/03/28 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
应急管理工作总结2015
2015/05/04 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书