首頁  >  文章  >  web前端  >  如何在 JavaScript 中取得函數本身內部的函數名稱?

如何在 JavaScript 中取得函數本身內部的函數名稱?

Susan Sarandon
Susan Sarandon原創
2024-10-25 09:16:02525瀏覽

How Can I Get a Function's Name Inside the Function Itself in JavaScript?

如何在函數本身內擷取函數的名稱?

在內部決定函數的名稱對於偵錯或動態操作非常有用。要實現此目的,請考慮以下方法:

在 ES6 中:

  • 利用 myFunction.name 直接存取函數名稱。

ES5 中:

  • 使用Function.caller (非標準且不建議):arguments.callee.name.
  • 實作自訂函數:
<code class="javascript">function functionName(fun) {
  const ret = fun.toString();
  ret = ret.substr('function '.length);
  ret = ret.substr(0, ret.indexOf('('));
  return ret;
}</code>
  • 依照nus 的建議採用正規表示式模式:
<code class="javascript">/function (.{1,})\(/.exec(fun.toString())[1];</code>

請記住,某些JavaScript 壓縮器可能會消除函數名稱以實現更好的壓縮。如有必要,請調整縮小器的設定以防止這種情況。

以上是如何在 JavaScript 中取得函數本身內部的函數名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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