在 JavaScript 中获取当前运行函数的名称
在 JavaScript 中,您可能会遇到需要访问函数名称的情况当前正在执行的函数。虽然这可能不是常见场景,但某些用例可能需要此信息。
Arguments.callee
在 ES5 之前的 JavaScript 版本中,参数.callee 属性提供了一种检索活动函数的方法。然而,值得注意的是,该属性已被弃用,取而代之的是更安全的替代方案。在现代JavaScript环境中使用arguments.callee可能会导致意外行为甚至错误。
解析函数名称
如果必须获取函数名称,可以这样做通过分析arguments.callee.toString() 输出。但是,请注意,返回的字符串包含附加信息,例如大括号和圆括号。要提取函数名称,您需要执行一些解析。
例如:
<code class="js">function DisplayMyName() { var myName = arguments.callee.toString(); myName = myName.substr('function '.length); myName = myName.substr(0, myName.indexOf('(')); alert(myName); }</code>
在 ES5 及更高版本中,arguments.callee 属性已被完全删除,从而消除了直接访问当前函数名。因此,建议在现代开发实践中避免依赖此功能。
以上是如何在 JavaScript 中获取当前正在运行的函数的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!