首页 >web前端 >js教程 >JavaScript中如何动态获取当前函数的名称?

JavaScript中如何动态获取当前函数的名称?

Susan Sarandon
Susan Sarandon原创
2024-10-21 15:27:30677浏览

How to Dynamically Get the Name of the Current Function in JavaScript?

在 JavaScript 中获取当前函数的名称

能否在 JavaScript 中动态访问当前正在执行的函数的名称?

问题描述

考虑以下示例:

<code class="javascript">myfile.js:

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

目标是检索函数的名称以及可能的完整位置(文件名:函数名)。这可以实现吗?

解决方案

在 ES5 及更高版本中: 不幸的是,ES5 中没有内置机制来获取函数名称及后续版本。

在较旧的 JavaScript 版本中:在早期版本的 JavaScript 中,可以使用arguments.callee 访问函数名称。然而,这种方法可能需要一些解析,因为返回的值可能包含无关的信息。

解析方法:

<code class="javascript">function DisplayMyName() {
    var myName = arguments.callee.toString();
    myName = myName.substr('function '.length);
    myName = myName.substr(0, myName.indexOf('('));

    alert(myName);
}</code>

来源: [ Javascript - 获取当前函数名称](https://stackoverflow.com/questions/4267180/javascript-get-current-function-name)

以上是JavaScript中如何动态获取当前函数的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn