發現 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中文網其他相關文章!