从内部发现函数身份
从函数内部访问函数名称的挑战在编程中经常出现。对于 JavaScript,有多种方法可以解决此问题。
ES6: myFunction.name
在 ES6 及更高版本中,直接的解决方案是使用 myFunction.name财产。该属性提供了函数的名称,使其成为一种高效且简单的方法。
ES5:函数解析
对于 ES5,名为 functionName(fun) 的自定义函数可以创建从函数的字符串表示中提取名称。它会修剪“function”前缀和括号,提供所需的函数名称。
基于正则表达式的方法
或者,可以使用正则表达式来获取函数名称。 nus 提供的以下基于正则表达式的函数提供了增强的性能:
<code class="javascript">function funName(fun) { return fun.toString().match(/function ([^\(]+)[\s\S]*/)[1]; }</code>
注意事项和注意事项
需要注意的是,压缩器可能会优化函数名称以改进压缩。如果这造成问题,您可能需要调整缩小器设置。此外,应避免使用 Function.caller 和arguments.callee,因为它们是非标准的,并且在严格模式下不鼓励使用。
以上是如何在 JavaScript 中从函数内部访问函数的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!