javascript中查看函数的调用者
一个被压缩的行数很多的js代码,我想分析某个函数的被调用的过程,有没有方法可以在函数里面alert输出他的调用者的名称,然后在调用者里用同样的方法输出调用者的调用者,一直到顶部。函数是对象里的一个成员,形式如下
var A={
var f1=function(){
...
},
var f2=function(){
...
}
}
我知道有一个叫call的成员,但是alert(this.caller)总输出undefine,可是这个函数明显不是在顶部被调用的。
------解决方案--------------------arguments.callee.caller可以得到函数的调用者函数的引用,
却不可能得到存放调用者函数的变量(属性)的名称
当然用.toString()方法在有些浏览器中可以得到函数的源代码,能从中找到函数的名称(如果函数有名称的话)
------解决方案--------------------firebug堆栈设置断点,查看调用堆栈