获取Javascript中的包装函数名

获取Javascript中的包装函数名,javascript,function,Javascript,Function,如何获取代码的包装函数名?我想在我的项目的许多函数中实现运行时跟踪功能,但不想自己替换每个函数中的函数名 function my_function_name() { let t0 = performance.now(); .... DEBUG_TRACK_RUNTIME(performance.now() - t0) } function DEBUG_TRACK_RUNTIME(runtime) { console.log("PROCESS RUNTIME: &quo

如何获取代码的包装函数名?我想在我的项目的许多函数中实现运行时跟踪功能,但不想自己替换每个函数中的函数名

function my_function_name() {
  let t0 = performance.now();
  ....
  DEBUG_TRACK_RUNTIME(performance.now() - t0)
}

function DEBUG_TRACK_RUNTIME(runtime) {
  console.log("PROCESS RUNTIME: " + this.caller, Math.round(runtime, 0) + " ms")
}
有没有办法将函数名“my_function_name()”作为字符串获取


问题得到了回答。这个解决方案对我很有效。谢谢

function abcd() {
    let t0 = performance.now();
    ...
    DEBUG_TRACK_RUNTIME(arguments.callee.name, performance.now() - t0)
}

function DEBUG_TRACK_RUNTIME(title, runtime) {
    console.log("PROCESS RUNTIME: " + title + "()", Math.round(runtime, 0) + " ms")
}
使用:

函数我的函数名(){
log(arguments.callee.name);
}

我的函数名()无法在严格模式下工作。有没有合适的方法?重复:也许您不应该基于
参数构建复杂的通用可重用功能。被调用方
。它在严格模式下无法工作。在现代浏览器中,JS代码总是在模块和类声明中以严格模式运行。