2008-11-06 24 views
5

Khi tôi đang ở trong trình gỡ lỗi flash, và tôi đã lưu một số cuộc gọi lại, tôi có thể thấy rằng các hàm có thuộc tính có tên savedThis rất hữu ích để biết nơi gọi lại đến từ đâu.Truy cập đã lưu Thuộc tính này trong Function

Tôi đang cố gắng truy cập thuộc tính đó từ mã, nhưng vì một số lý do tôi không thể.

callback.savedThis ném Lỗi vì không thể tìm thấy thuộc tính, có thể xảy ra do thuộc tính riêng tư.

Vì vậy, tôi cố gắng thêm một phương pháp để lớp Chức năng đó sẽ cho tôi truy cập vào nó:

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

Nhưng nó mang lại cho tôi những lỗi tương tự về không tìm thấy bất động sản, mặc dù tôi có thể nhìn thấy nó trong trình gỡ rối. Có cách nào để truy cập không?

Lưu ý: Tôi không định sử dụng mã này trong sản xuất, tôi đang thực hiện một số lớp để giúp tôi gỡ lỗi bằng cách tự động thu thập dữ liệu và sẽ rất hữu ích khi nhận được thông tin này mà không phải thêm mã vào mỗi lần gọi lại thông báo đã lưu của đối tượng này.

Trả lời

0

Bạn có thể tham chiếu đến chức năng gọi điện bằng cách sử dụng thuộc tính 'arguments.callee'.
Ví dụ:


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

Nhưng tôi không có cách nào liên kết các chức năng gọi điện thoại cho các đối tượng sở hữu nó – Turambar

Các vấn đề liên quan