JavaScript:动态传递函数的名称

时间:2013-06-04 19:43:33

标签: javascript

在PHP中,可以将函数的名称传递给另一个函数......

function fail()
{
 $query1 = 'SELECT null FROM null;';
 $result1 = mysql_query($query1);

 if ($result1) {echo 'Reverse-hippies in the code.';}
 else {mysql_error_report($query1,mysql_error(),__FUNCTION__);}
}

PHP的__FUNCTION__魔术常量是动态的,这意味着当我为任何/所有查询设置错误报告时,我不必手动复制/粘贴函数的名称(这将是静态的);这在更改函数名称时特别有用。

JavaScript(任何框架!而不是Firebug /其他JavaScript调试程序)是否具有内置的相同动态功能,即使在以后的迭代中也是如此?

2 个答案:

答案 0 :(得分:3)

arguments.callee.name

正是您要找的。这将返回您所在职能的名称。

function foo () {
    console.log(arguments.callee.name); //foo
} 

答案 1 :(得分:0)

您可以随时询问功能名称:)

function tellName(f) {
    console.log(f.name);
}

tellName(console.log);