Javascript 如何获取在JS中表示函数的属性名

Javascript 如何获取在JS中表示函数的属性名,javascript,function,Javascript,Function,这是一些JS代码 var methodArr = ['firstFunc','secondFunc','thirdFunc']; for(var i in methodArr) { window[methodName] = function() { console.log(methodName); } } 我的问题是如何在JS中获取函数名 在JS中,使用this.callee.name.toString()可以获取函数名。但是在这种情况下,它是一个n

这是一些JS代码

var methodArr = ['firstFunc','secondFunc','thirdFunc'];

for(var i in methodArr)
{

    window[methodName] = function()
    {
        console.log(methodName);
    }
}
我的问题是如何在JS中获取函数名

在JS中,使用
this.callee.name.toString()
可以获取函数名。但是在这种情况下,它是一个
null
值。如何获取
'funName'
字符串

对不起,我没说清楚。
我想在for循环中创建函数,所有这些函数都有几乎相同的实现,需要它的名称。但是其他人可以使用不同的名称调用这些函数。我想知道调用了什么
methodName
函数。

这似乎是一个范围问题

试试这个:

var methodArr = ['firstFunc','secondFunc','thirdFunc'];
for(var i in methodArr) {
    var methodName = methodArr[i]; // <---- this line missed in your code?

    window[methodName] = (function(methodName) {
        return function() {
            console.log(methodName);
        }
    })(methodName);
}

window['secondFunc'](); // output: secondFunc
var methodArr=['firstFunc','secondFunc','thirdFunc'];
对于(methodArr中的var i){

var methodName=methodArr[i];//您得到null是因为它是一个匿名函数,在这种情况下,您不知道函数的名称吗?我的意思是,如果函数的名称是由php、asp或其他任何东西创建的,您也可以在函数中得到它。您是否尝试使用此方法进行递归?在这种情况下,有没有办法得到“funName”字符串?可能是如果你的代码仍然不起作用,那么就发布你的问题和代码。对不起,我以前试过错误的方法。它起作用了。帮助很大,谢谢你。