ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で呼び出し元関数の詳細 (行番号とソース URL) をトレースするにはどうすればよいですか?

JavaScript で呼び出し元関数の詳細 (行番号とソース URL) をトレースするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-20 21:53:30829ブラウズ

How to Trace Caller Function Details (Line Number and Source URL) in JavaScript?

JavaScript での呼び出し元の詳細のトレース: 行番号とソース URL

行番号やソース URL を含む呼び出し元関数の詳細をトレースするには、次のアプローチを検討してください:

呼び出し元関数名の取得:

<br>var callerFunc = argument.callee.caller.toString();<br>callerFuncName = (callerFunc.substring(callerFunc.indexOf("function") 8, callerFunc.indexOf("(")) || "anoynmous")<br>

このコードスニペットは呼び出し元関数の名前を取得します。

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

呼び出し元関数の呼び出し元の行番号を取得するには:

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);

このメソッドは、JavaScript エラー オブジェクトのスタック プロパティを利用して呼び出し元の回線番号にアクセスします。

呼び出し元の URL を決定します:

残念ながら、そうではありません。呼び出し側関数からソース URL を直接取得するのは簡単ですが、Webpack などのバンドラーをソース マップとともに使用して、バンドルされたコードとソース ファイル間のマッピングを生成し、呼び出し側の行番号を元のソースの場所にマッピングすることができます。 .

以上がJavaScript で呼び出し元関数の詳細 (行番号とソース URL) をトレースするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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