Javascript 获取一个函数';的名称,其中包括保存它的对象

Javascript 获取一个函数';的名称,其中包括保存它的对象,javascript,Javascript,如果我有这个密码 var obj = { method: function() { //do something }, } 如何获取函数的名称?如果我访问obj.func.name,当我需要“obj.func”时,它只会给我“func”。如何获取“obj.func” 最好不使用jQuery进行操作。那么您试图通过函数名引用对象属性 var obj={ func:function方法(){ console.log(this.func.name); } }; ob

如果我有这个密码

var obj = {
    method: function() {
        //do something
    },
}
如何获取函数的名称?如果我访问obj.func.name,当我需要“obj.func”时,它只会给我“func”。如何获取“obj.func”


最好不使用jQuery进行操作。

那么您试图通过函数名引用对象属性

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

obj.func();// 你没有。函数不知道包含它的对象的任何信息,甚至不知道名称是否存在

此外,如果您这样做会发生什么:

var foo = obj;
你应该叫什么名字?obj还是foo


你到底想做什么?你想用这个名字做什么?可能还有其他方法来完成您真正想要完成的任务。

您的函数称为
方法
。基本上是属性的名称在代码中没有任何名称
func
。您想从什么上下文中获取函数名?console.log(Object.keys(obj)[0]);//输出:“方法”您想在哪里知道它?从方法内部?如果是这样的话,那么任何方法知道包含它的对象的名称都是一种糟糕的代码味道,因为这些名称是可更改的,并且它还防止重复使用该对象。“obj.func.name它只给我“func”-不,它没有
obj.method.name
给出“method”,
obj.func.name
给出一个类型错误。