ホームページ  >  記事  >  ウェブフロントエンド  >  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 と argument.callee は非標準であり、厳密モードでは推奨されないため、使用しないでください。

以上がJavaScript で関数内から関数名にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。