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