ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で呼び出し元関数の詳細を確認するにはどうすればよいですか?

JavaScript で呼び出し元関数の詳細を確認するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-20 21:53:02238ブラウズ

How to Determine the Details of the Caller Function in JavaScript?

JavaScript での呼び出し元関数の詳細の検出

関数呼び出しの発信元を特定すると、デバッグと分析に貴重な洞察が得られます。この記事では、JavaScript で呼び出し元関数の行番号とソース URL を取得する方法について説明します。

呼び出し元の行番号の取得

提供されたコードは、呼び出し元の関数の名前を効果的に取得します。 argument.callee.caller オブジェクトを使用した呼び出し側関数。ただし、行番号を取得するには別のアプローチが必要です。 1 つの方法では、Error オブジェクトを利用します。

<code class="js">function getErrorObject() {
  try {
    throw Error('');
  } catch (err) {
    return err;
  }
}

var err = getErrorObject();
var caller_line = err.stack.split("\n")[4];
var index = caller_line.indexOf("at ");
var clean = caller_line.slice(index + 2, caller_line.length);</code>

Error オブジェクトの stack プロパティには、エラーの原因となった関数呼び出しの行番号とソース URL を含むスタック トレースが含まれています。この文字列を解析することで、呼び出し元の関数の行番号を抽出できます。

呼び出し元のソース URL の取得

同様にスタックからソース URL を取得できます。 Error オブジェクトのプロパティ:

<code class="js">var caller_url = err.stack.split("\n")[4];
var index = caller_url.indexOf("(");
var clean = caller_url.slice(index + 1, caller_url.length - 1);</code>

括弧内のスタック トレースの部分には、呼び出し元関数のソース URL が含まれています。

以上がJavaScript で呼び出し元関数の詳細を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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