使用巢狀函數呼叫時,識別呼叫者函數以進行偵錯和其他目的非常有用。
JavaScript 提供了一個已棄用的名為 caller 的屬性,該屬性包含對呼叫目前函數的函數。但是,出於安全考慮,不鼓勵使用此屬性,不再建議使用。
function Hello() { alert("caller is " + Hello.caller); // Deprecated }
另一種非標準方法涉及使用參數對象,它提供傳遞給函數的參數數組。可以透過第二個參數(索引 1)的 callee.caller 屬性來存取呼叫者函數。
function Hello() { alert("caller is " + arguments.callee.caller.toString()); // Non-standard }
JavaScript 不提供內建方法來擷取呼叫堆疊。但是,使用諸如 debug 之類的外部庫,可以獲得詳細的堆疊追蹤資訊。這對於調試複雜程式碼和識別函數呼叫序列非常有用。
以上是如何發現 JavaScript 中的呼叫者函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!