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 相关文章推荐
js几个不错的函数 $$()
Oct 09 Javascript
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
常见JS效果之图片减速度滚动实现代码
Dec 08 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
Apr 26 Javascript
详细谈谈javascript的对象
Jul 31 Javascript
遍历json获得数据的几种方法小结
Jan 21 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
Sep 12 Javascript
JS获取动态添加元素的方法详解
Jul 31 Javascript
JS如何操作DOM基于表格动态展示数据
Oct 15 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
smarty的保留变量问题
2008/10/23 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
Python中的模块和包概念介绍
2015/04/13 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Python测试模块doctest使用解析
2019/08/10 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
python怎么调用自己的函数
2020/07/01 Python
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
周年庆典邀请函范文
2014/01/23 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
优秀学生评语大全
2014/04/25 职场文书
自主招生教师推荐信
2014/05/10 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript