首页  >  文章  >  web前端  >  如何在 JavaScript 中从函数内部访问函数的名称?

如何在 JavaScript 中从函数内部访问函数的名称?

Patricia Arquette
Patricia Arquette原创
2024-10-28 12:50:30887浏览

How Can I Access a Function's Name From Inside the Function in JavaScript?

从内部发现函数身份

从函数内部访问函数名称的挑战在编程中经常出现。对于 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中文网其他相关文章!

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