ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で実行中の関数の名前を取得するにはどうすればよいですか?

JavaScript で実行中の関数の名前を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-21 15:29:02
オリジナル
544 人が閲覧しました

How to Obtain the Running Function's Name in JavaScript?

謎の解読: JavaScript で実行中の関数の名前を取得する

現在実行中の関数の名前を取得するという概念は、JavaScript を操作するプログラマーにとっての燃えるような質問です。風景。この記事では、この一見単純なタスクの可能性と実用性について詳しく説明します。

ES5 以降の制限

ES5 では、JavaScript は名前への直接アクセスを提供しなくなりました。ランニング機能の。この制限は、悪意のあるコードによるコール スタックの操作を防ぐための言語の試みから生じています。

古いバージョンの JavaScript での関数名へのアクセス

ES5 より前では、開発者は次のことを行うことができました。 argument.callee プロパティを利用して、呼び出し元の関数の名前を抽出します。ただし、このアプローチにはいくつかの欠点がありました。

  • 戻り値には、匿名関数ラベルなどの追加情報が含まれる可能性があります。
  • 一部のブラウザでは、純粋な関数を分離するために追加の解析が必要でした。 name.

関数名の解析

追加情報から関数名を取り除くために、一部の JavaScript 実装では argument.callee.name プロパティが提供されています。このメソッドが利用できない場合、開発者は次の解析手法を利用できます:

<code class="javascript">function DisplayMyName() {
  var myName = arguments.callee.toString();
  myName = myName.substr('function '.length);
  myName = myName.substr(0, myName.indexOf('('));

  alert(myName);
}</code>
ログイン後にコピー

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート