获取函数的名称,其中包括保存该函数的对象

时间:2018-08-07 20:48:25

标签: javascript

如果我有此代码

var obj = {
    method: function() {
        //do something
    },
}

如何获取函数名称?如果我访问obj.func.name,当我想要“ obj.func”时,它只会给我“ func”。如何获取“ obj.func”?

最好不使用jQuery。

2 个答案:

答案 0 :(得分:0)

你不知道。该函数对包含它的对象一无所知,甚至不知道该名称是否存在。

此外,如果执行此操作会发生什么:

var foo = obj;

您应该叫什么名字? obj或foo?

您实际上想做什么?您想使用该名称做什么?可能还有其他方法可以完成您实际想要完成的工作。

答案 1 :(得分:-1)

所以您要尝试通过函数名称引用对象属性?

var obj = {
  func: function method(){
    console.log(this.func.name);
  }
};

obj.func(); // <- like this!

因此,如果要访问obj.func属性及其函数名称,可以通过以下方式访问它:

obj.func.name // <- returns 'method'