检索当前执行函数的名称的概念一直是浏览 JavaScript 的程序员面临的一个紧迫问题景观。本文深入探讨了这个看似简单的任务的可能性和实用性。
ES5 及以上版本的限制
从 ES5 开始,JavaScript 不再提供对名称的直接访问的运行功能。此限制源于该语言试图阻止恶意代码操纵调用堆栈。
访问旧版本 JavaScript 中的函数名称
在 ES5 之前,开发人员可以利用arguments.callee属性来提取调用函数的名称。但是,这种方法有一些缺点:
解析函数名称
为了从任何附加信息中纯化函数名称,一些 JavaScript 实现提供了arguments.callee.name 属性。如果此方法不可用,开发人员可以使用以下解析技术:
<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 中获取正在运行的函数的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!