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

时间:2008-11-06 15:27:11

标签: flex flash actionscript-3

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

我正在尝试从代码中访问该属性,但出于某种原因我不能。

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

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

Function.prototype.getSavedThis = function()
{
    return this.savedThis
}

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

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

1 个答案:

答案 0 :(得分:0)

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


bar( arguments.callee );
public function bar( caller:Function ) : void { trace( caller ); }