打印函数数组的函数名称

时间:2013-09-30 00:21:12

标签: javascript

说我有数组[func1,func2,func3]。

我想打印出一个字符串:“func1,func2,func3”。但是,它会打印函数的全部内容。

我是否必须使用一些正则表达式从输出中获取名称或者是否有更简单的方法?

干杯。

2 个答案:

答案 0 :(得分:2)

使用Function name property

function doSomething() { }

alert(doSomething.name); // alerts "doSomething"

请注意,根据文档,这在Internet Explorer中不起作用。如果这对您很重要,您可以查看other options

答案 1 :(得分:0)

你想要在列表中获取函数名称,对吧? 如果是这样的话,这样的事情应该对你有用。如果这不是你想做的事,请告诉我。 JsFiddle Working code here

//declare the dummy functions
function funcOne(){
    return null;
}
function funcTwo(){
    return null;
}
function funcThree(){
    return null;
}
//add the functions to the array
var functionArray=[funcOne,funcTwo,funcThree];
//declare an output array so we can then join the names easily
var output=new Array();
//iterate the array using the for .. in loop and then just getting the function.name property
for(var funcName in functionArray){
    if(functionArray.hasOwnProperty(funcName))
        output.push(functionArray[funcName].name);
}
//join the output and show it
alert(output.join(","));