在函数中访问已保存此属性

And*_*res 5 apache-flex flash actionscript-3

当我在flash调试器中,并且我保存了一些回调时,我可以看到函数有一个名为的属性savedThis,非常有用,可以知道回调的来源.

我试图从代码访问该属性,但由于某种原因,我不能.

callback.savedThis 抛出一个错误,因为它找不到属性,很可能是因为它是私有的.

所以我尝试在Function类中添加一个方法,让我可以访问它:

Function.prototype.getSavedThis = function()
{
    return this.savedThis
}
Run Code Online (Sandbox Code Playgroud)

但它给了我关于找不到属性的相同错误,即使我可以在调试器中看到它.有没有办法访问它?

注意:我不打算在生产代码中使用它,我正在制作一些类来通过自动化一些数据收集来帮助我进行调试,获取这些信息而不必为每个回调保存代码都是非常有用的通知这个对象.

小智 0

您可以使用“ arguments.callee ”属性获取对调用函数的引用。
例如:


bar( arguments.callee );
public function bar( caller:Function ) : void { trace( caller ); }
Run Code Online (Sandbox Code Playgroud)