访问函数自身内部的名称:全面探索
在 JavaScript 中,从函数本身内部访问函数名称可能是一个很有价值的工具用于调试、内省和各种场景。下面详细介绍了实现此目的的技术:
ES6:一个简单的解决方案
随着 ES6 的引入,访问函数的名称变得微不足道。只需使用 myFunction.name 属性即可检索函数的名称。这种方法简单可靠。
ES5:利用 Function.toString()
在 ES5 中,没有直接的方法来访问函数的名称。但是,您可以利用 Function.toString() 方法来提取它。以下是执行此任务的示例函数:
<code class="javascript">function functionName(fun) { var ret = fun.toString(); ret = ret.substr('function '.length); ret = ret.substr(0, ret.indexOf('(')); return ret; }</code>
此函数分析函数的 toString() 输出,以隔离“function”前缀和第一个左括号之间的名称。
避免使用Function.caller和arguments.callee
需要注意的是,不建议使用Function.caller或arguments.callee,因为它们是非标准的,并且在严格模式下不鼓励使用。这些属性可能会提供不可靠的结果或导致意外的行为。
以上是以下是一些基于问题的标题,它们抓住了文章的精髓: * **如何从函数本身访问 JavaScript 函数的名称?**(这是一个直接、明确的问题的详细内容。更多信息请关注PHP中文网其他相关文章!