我想直接从此方法体获取当前方法名称,我的代码不起作用:
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"
}
你对我有什么建议,有什么办法可以让这个工作成功吗? 我越来越多地搜索谷歌,但没有找到。有帮助
最佳答案
该函数是匿名,没有名称。
要获取变量名称,请按照 this answer 。
解决方案 1:
尝试创建一个具有属性
的对象
,然后迭代属性并显示属性
的名称。
var x = {
myFunction : function(){
}
};
for(var variable in x)
{
console.log(variable);
}
解决方案 2:
我试图制定一个解决方法。我认为属性
是对象的第一个,我尝试显示属性
的名称。
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
关于javascript - 如何从方法内部获取js方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29146469/