如何获取JavaScript中Function的名字是一个很基本的问题。可以通过将function转化成字符串,用substring取它的名字,或者使用ECMAScript 6中的Function.name的支持。此属性只有在IE下有可能不兼容。详见MDN.
关于从字符串中获得其名字的方法如下 (转自stackoverflow):
function functionName(fun) { var ret = fun.toString(); ret = ret.substr('function '.length); ret = ret.substr(0, ret.indexOf('(')); return ret; }
如其在stackoverflow中提到的,Function.caller是非标准的用法,arguments.callee不在strick mode下支持。