请问 js 函数中执行的语句能否知道自己在哪个函数内?

比如

function funcName(){
    console.log(something)
}
// 箭头函数 可以么
const abc= ()=>{
    console.log(something)
}

如何打印出当前函数的名称

回复
阅读 796
2 个回答

利用 Error 对象的调用栈吧

var a = () => {
    var func = (new Error()).stack.split(/\n/)[2].match(/\s+at\s(\w+)\s/)[1]
    console.log(func)
}

function b() {
    a();
}

b();// b

var c = () => a()

c();// c

var d = () => b();

d();// b
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏