首頁  >  文章  >  web前端  >  如何在 JavaScript 中取得目前正在運行的函數的名稱?

如何在 JavaScript 中取得目前正在運行的函數的名稱?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-21 15:27:03516瀏覽

How to Get the Name of the Currently Running Function in JavaScript?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn