我想通过获取JS函数的执行上下文或更具体的范围链来了解JS函数的调用关系。考虑这个例子:
min
我想知道一个JS函数中的每个局部变量和函数声明。我认为JS函数的范围链可能会给我我想要的信息。但我不知道在哪里可以获得V8引擎内部功能的范围链。任何人都可以帮助我吗?非常感谢你!
答案 0 :(得分:0)
您可以使用(new Error()).stack
:
console.log((new Error()).stack);
以下是删除误导性“错误”第一行的代码:
var callStackLines = (new Error()).stack.split('\n');
callStackLines.splice(0, 1);
var callStack = callStackLines.join('\n') + '\n';
console.log(callStack);
答案 1 :(得分:0)
在那里你想要看到呼叫序列,你可以简单地调用: console.trace();