当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript中如何获取到对象名?

JavaScript中如何获取到对象名?

2019年03月24日  | 移动技术网IT编程  | 我要评论
我们经常要判断用户传递进来的对象名是不是合法的,那么我们就需要获取到该对象的对象名,在chrome有提供直接获取到对象名的方法,而在ie中就需要正则或者字符串切割,这么使用正则

我们经常要判断用户传递进来的对象名是不是合法的,那么我们就需要获取到该对象的对象名,在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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网