首頁  >  文章  >  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