日期:2014-05-16  浏览次数:20471 次

javascript中查看函数的调用者
一个被压缩的行数很多的js代码,我想分析某个函数的被调用的过程,有没有方法可以在函数里面alert输出他的调用者的名称,然后在调用者里用同样的方法输出调用者的调用者,一直到顶部。函数是对象里的一个成员,形式如下
var A={
 var f1=function(){
   ...
 },
 var f2=function(){
   ...
 }
}
我知道有一个叫call的成员,但是alert(this.caller)总输出undefine,可是这个函数明显不是在顶部被调用的。
javascript function 对象 压缩

------解决方案--------------------
arguments.callee.caller可以得到函数的调用者函数的引用,
却不可能得到存放调用者函数的变量(属性)的名称
当然用.toString()方法在有些浏览器中可以得到函数的源代码,能从中找到函数的名称(如果函数有名称的话)

------解决方案--------------------
firebug堆栈设置断点,查看调用堆栈