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