获取内部函数调用

Get inside function calls

本文关键字:函数调用 内部 获取      更新时间:2023-09-26

我试着从我的问题中给出一张国外的图片。假设我有一个函数,在这个函数中,我有一些其他函数调用,最后,第一个函数返回一个值。

function a() {
  return 1;
}
function b() {
  var result = a();
  return 2 + result;
}
b();

现在,在调用b()方法之后,我想知道b()函数内部调用了多少函数以及调用了什么函数。我怎样才能做到这一点?

没有正统的方法可以做到这一点。然而,您可以做相反的事情,通过访问a()中的arguments.callee.caller来找出是谁调用了函数a()。

但是,如果你真的很认真地想知道函数中调用了什么函数,你总是可以执行b.toString(),然后手动解析代码:)

您需要一个AST生成器。使用这样的javascript解析器。