小编典典

我可以在 JavaScript 中获取当前正在运行的函数的名称吗?

all

是否有可能做到这一点:

myfile.js:
function foo() {
    alert(<my-function-name>);
    // pops-up "foo"
    // or even better: "myfile.js : foo"
}

我的堆栈中有 Dojo 和 jQuery 框架,所以如果其中任何一个更容易,它们都是可用的。


阅读 98

收藏
2022-06-15

共1个答案

小编典典

在 ES5 及更高版本中,无法访问该信息。

在旧版本的 JS 中,您可以使用arguments.callee.

不过,您可能必须解析名称,因为它可能包含一些额外的垃圾。不过,在某些实现中,您可以简单地使用arguments.callee.name.

解析:

function DisplayMyName() 
{
   var myName = arguments.callee.toString();
   myName = myName.substr('function '.length);
   myName = myName.substr(0, myName.indexOf('('));

   alert(myName);
}

来源:Javascript - 获取当前函数名称

2022-06-15