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

时间:2013-09-04 09:31:40

标签: 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()可以获取函数名称。但在这种情况下,它是null值。我如何获得'funName'字符串?

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

1 个答案:

答案 0 :(得分:0)

这似乎是范围问题。

试试这个:

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