javascript中如何获取对象名

一、总结

一句话总结:将对象传入参数,看参数是否为函数(js中的对象和函数是一个意思么(函数肯定是对象)),对象参数.name属性即可获得

//版本4
function getName(fun){
return typeof fun==='function'?
undefined:
fun.name||/function (.+)\(/.exec(fun + '')[1];
}
//调用
function Person(){}
var ps = new Person();
getName(ps.constractor); //通过获取到constractor从而获取到构造函数

二、JavaScript中获取到对象名

我们经常要判断用户传递进来的对象名是不是合法的,那么我们就需要获取到该对象的对象名,在chrome有提供直接获取到对象名的方法,而在ie中就需要正则或者字符串切割,这么使用正则

//版本1
function getName(fun){
if(typeof fun !== 'function')return;
if(fun.name){
return fun.name;
}else{
return /function (.+)\(/.exec(fun+'')[1];
}
} //版本2
function getName(fun){
if(typeof fun !== 'function') return;
return fun.name?fun.name:/function (.+)\(/.exec(fun+'')[1];
} //版本3
function getName(fun){
if(typeof fun!== 'function') return;
return fun.name||/function (.+)\(/exec(fun + '')[1];
} //版本4
function getName(fun){
return typeof fun==='function'?
undefined:
fun.name||/function (.+)\(/.exec(fun + '')[1];
}
//调用
function Person(){}
var ps = new Person();
getName(ps.constractor); //通过获取到constractor从而获取到构造函数

//很多框架中比较喜欢用版本4

 
参考:JavaScript中获取到对象名 - CSDN博客
https://blog.csdn.net/qq_25956141/article/details/79156709
 
 
 
 
 

javascript中如何获取对象名的更多相关文章

  1. JavaScript:JavaScript中常见获取对象元素的方法

    介绍: javascript中常见的3种获取元素的方法,分别是通过元素ID.通过标签名字和通过类名字来获取 操作如下: 1.getElementById DOM提供了一个名为getElementByI ...

  2. JavaScript中的global对象,window对象以及document对象的区别和联系

    JavaScript中的global对象,window对象以及document对象的区别和联系 一.概念区分:JavaScript中的global对象,window对象以及document对象 1.g ...

  3. 【JavaScript】JavaScript中的ActiveXObject对象

    JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用.    使用方法: newObj = new ActiveXObject( servername.t ...

  4. JavaScript中创建字典对象(dictionary)实例

    这篇文章主要介绍了JavaScript中创建字典对象(dictionary)实例,本文直接给出了实现的源码,并给出了使用示例,需要的朋友可以参考下 对于JavaScript来说,其自身的Array对象 ...

  5. Javascript学习1 - Javascript中的类型对象

    原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象. 常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个 ...

  6. 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小

    查看本章节 查看作业目录 需求说明: 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理.距离远时图片放大,距离近 ...

  7. 使用 JavaScript 中的 document 对象查找 HTML 元素,实现“登录”按钮的高亮特效 鼠标悬浮于“登录”按钮时,按钮高亮显示;

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 document 对象查找 HTML 元素,实现"登录"按钮的高亮特效 鼠标悬浮于"登录" ...

  8. 使用 JavaScript 中的 window 对象执行计时操作,完成一个抽奖程序

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 window 对象执行计时操作,完成一个抽奖程序 实现思路: 在 HTML 页面中放置背景图片.转盘和指针 3 张图片,并设置指 ...

  9. JavaScript中的事件对象

    JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有 ...

随机推荐

  1. ASP.NET-JSON.NET技巧

    第一个技巧,字符串转JSON 单条的json数据可以使用JObject.Parse将对象转化成JObject对象,你可以接着使用JsonConvert.SerializeObject方法把这个对象序列 ...

  2. flex 通过htmlservices链接moss的rest(rest 的get post方式)

    一:flex debug(调试)--trace() --moss导入 flex学习:1.flex出现不能使用trace调试语句的问题,控制台无信息输出.这个问题不须要改动安装文件的參量. 仅仅须要下载 ...

  3. LeetCode211:Add and Search Word - Data structure design

    Design a data structure that supports the following two operations: void addWord(word) bool search(w ...

  4. ZOJ 3829 模拟贪心

    2014牡丹江现场赛水题 给出波兰式,推断其是否合法.假设不合法有两种操作: 1:任何位置加一个数字或者操作符 2:随意两个位置的元素对调 贪心模拟就可以 先推断数字数是否大于操作符数,若不大于 an ...

  5. WPF错误:必须使“Property”具有非 null 值。

    这个问题一般出如今Triggers中Property指定的类型为Nullable. 解决的方法就是用DataTrigger取代Trigger, 然后用Binding+Converter转换为详细非Nu ...

  6. 三种SVM的对偶问题

    一.SVM原问题及要变成对偶问题的解决办法 对于SVM的,我们知道其终于目的是求取一分类超平面,然后将新的数据带入这一分类超平面的方程中,推断输出结果的符号,从而推断新的数据的正负. 而求解svm分类 ...

  7. Windows环境下通过Git来管理自己的Android代码

    前面已经介绍了在Windows下使用git工具来下载Android的源代码,Windows环境下通过Git得到Android源代码,这里记录我使用git工具来管理我自己的代码,git是一种分布式的项目 ...

  8. Ubuntu 16.04 安装 Open Jdk

    sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk

  9. SSRS故障排除

    1.SSRS部署到本地出现错误:为用户“Jimmy-PC\Jimmy”授予的权限不足,无法执行此操作.用户“Jimmy-PC\Jimmy”不具有所需的权限.请验证授予了足够的权限并且解决了 Windo ...

  10. 线程状态与tcb、线程的生命周期

    struct tcb { u32_t status; struct reg_context thread_context; void *stack; struct thread_info thread ...