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 (NOT任何框架!而不是Firebug/其他JavaScript调试器)即使在以后的迭代中也内置了相同的动态功能?

arguments.callee.name

就是你要找的。这将返回您所在的函数的名称。

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

你总是可以要求一个函数名:)

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

最新更新