如何从方法内部获取js方法名称

how to get js method name from inside the method

本文关键字:方法 js 获取 内部      更新时间:2023-09-26

我想直接从这个方法体中获取当前方法名,我的代码是:

var myFunction = function(){
    console.log(arguments.callee.name); // output must be "myFunction" 
}

This works excellently
function myFunction() {
    console.log(arguments.callee.name); // output is "myFunction" 
}

你给我什么建议,有什么办法让它发挥作用吗?我搜索了越来越多的谷歌,但没有找到smth。有用的

函数是匿名,没有名称。

要获得变量名称,请按照以下答案进行操作。

解决方案1:尝试创建一个具有propertyobject,然后遍历属性并显示property的名称。

var x = {
    myFunction : function(){      
    }
};
for(var variable in x)
{
    console.log(variable);
}

解决方案2:我试图制定一个解决方法。我认为property是对象的第一个,并且我尝试显示property的名称。

var funcTest = function() {   
    for(var variable in this) {
        console.log(variable);
        break;
    }
} 
var x = {  myFunction : funcTest  };
x.myFunction(); // myFunction
var y = { secondFunction : funcTest }
y.secondFunction(); // secondFunction

解决方案是为函数提供一个名称

var myMethod = function myMethod () {    
    console.log(arguments.callee.name); // output is "myMethod"
};

我一点也不喜欢这种方式,但它适用于具体任务