当我在flash调试器中,并且我保存了一些回调时,我可以看到这些函数有一个名为savedThis
的属性,它非常有用,可以知道回调的来源。
我正在尝试从代码中访问该属性,但出于某种原因我不能。
callback.savedThis
抛出一个错误,因为它找不到属性,很可能是因为它是私有的。
所以我尝试在Function类中添加一个方法,让我可以访问它:
Function.prototype.getSavedThis = function()
{
return this.savedThis
}
但它给了我关于找不到属性的相同错误,即使我可以在调试器中看到它。 有没有办法访问它?
注意:我不打算在生产代码中使用它,我正在制作一些类来帮助我通过自动化一些数据收集进行调试,这对于获得这个来说是非常有用的信息,而不必为每个回调添加代码保存通知此对象。
答案 0 :(得分:0)
您可以使用' arguments.callee '属性来获取对调用函数的引用。
例如:
bar( arguments.callee );
public function bar( caller:Function ) : void { trace( caller ); }