首頁 >web前端 >js教程 >如何確定 JavaScript 中呼叫函數的詳細資訊?

如何確定 JavaScript 中呼叫函數的詳細資訊?

Linda Hamilton
Linda Hamilton原創
2024-10-20 21:53:02315瀏覽

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

發現 JavaScript 中的呼叫函數詳細資訊

確定函數呼叫的來源可以為偵錯和分析提供有價值的見解。本文探討如何在 JavaScript 中取得呼叫者函數的行號和來源 URL。

取得呼叫者的行號

提供的程式碼有效擷取函數的名稱使用arguments.callee.caller物件的呼叫者函數。但是,取得行號需要不同的方法。一種方法涉及利用 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中文網其他相關文章!

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