当我在 Flash 调试器中并保存了一些回调时,我可以看到这些函数有一个名为 savedThis
的属性。知道回调来自哪里非常有用。
我正在尝试从代码中访问该属性,但由于某种原因我不能。callback.savedThis
抛出一个错误,因为它找不到该属性,可能是因为它是私有(private)的。
所以我尝试向 Function 类添加一个方法,让我可以访问它:
Function.prototype.getSavedThis = function()
{
return this.savedThis
}
但它给了我关于找不到该属性的相同错误,即使我可以在调试器中看到它。
有没有办法访问它?
备注 :我不打算在生产代码中使用它,我正在制作一些类来通过自动化一些数据收集来帮助我进行调试,并且无需将代码添加到每个保存的回调通知中,获取这些信息将非常有用这个对象的。
最佳答案
您可以使用“arguments.callee”属性获取对调用函数的引用。
例如:
bar( arguments.callee );
public function bar( caller:Function ) : void { trace( caller ); }
关于apache-flex - 在 Function 中访问 savedThis 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/269110/