js:當前函數獲取調用它的函數


當我們在調試的時候,想獲取這個函數被哪個函數調用,以方便調試,但是 caller屬性被嚴格模式下被禁用了

我們可以通過 (new Error()).stack.split("\n")[2].trim().split(" ")[1]方法來獲取調用當前函數的那個函數名

解釋:new Error().stack 表示程序出錯位置的棧,[0]表示當前函數,[1]表示上一級函數調用的函數 [2]上上級....

例子:

 function bb(){cc()}
  function cc(){console.log((new Error()).stack.split("\n")[2].trim().split(" ")[1])}
  bb() //打印出bb

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM