JavaScript 呼叫者資訊
在 JavaScript 中,可以獲得有關函數呼叫另一個函數的詳細資訊。
呼叫者函數名稱
您已經提到了檢索呼叫者函數名稱的方法:
var callerFunc = arguments.callee.caller.toString(); callerFuncName = (callerFunc.substring(callerFunc.indexOf("function") + 8, callerFunc.indexOf("(")) || "anoynmous")
呼叫者線路
要提取呼叫該方法的行號,您可以利用Error 物件:
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);
在此程式碼中,getErrorObject 函數產生錯誤物件。透過存取 stack 屬性,您可以檢索堆疊追蹤,其中包含有關當前呼叫上下文的資訊。
呼叫者檔案來源 URL
不幸的是,直接取得 JavaScript在大多數 JavaScript 實作中,呼叫該方法的檔案來源 URL 是不可能的。
以上是如何檢索有關 JavaScript 呼叫程式函數的資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!