DNg*_*yen 5 javascript strict backtrace
有没有办法返回调用当前函数的函数?Function.caller仅适用于非严格模式应用程序。
我希望能够在生产环境中使用此功能,因此我需要打开严格模式。
预期返回:函数本身或函数名称。
function a() {
b()
}
function b() {
console.log(b.caller)
}
Run Code Online (Sandbox Code Playgroud)
Function.caller在严格模式下使用时会抛出错误:
未捕获的 TypeError: 'caller'、'callee' 和 'arguments' 属性可能无法在严格模式函数或调用它们的参数对象上访问
一种可能的方法是使用Console.trace
function a() {
b()
}
function b() {
console.trace()
}
a()Run Code Online (Sandbox Code Playgroud)
检查浏览器控制台以查看输出