Công cụ JavaScript Spider-Monkey triển khai chức năng gọi lại __noSuchMethod__
cho các đối tượng JavaScript.Truy cập vào thuộc tính chưa được xác định trong JavaScript
Chức năng này được gọi bất cứ khi nào JavaScript cố gắng thực hiện một phương thức chưa xác định của đối tượng.
Tôi muốn đặt chức năng gọi lại cho đối tượng sẽ được gọi bất cứ khi nào thuộc tính không xác định trong đối tượng được truy cập hoặc gán cho.
Tôi chưa tìm thấy chức năng __noSuchProperty__
được triển khai cho JavaScript Objects và tôi là curios nếu có bất kỳ giải pháp nào đạt được kết quả tương tự.
Xét đoạn mã sau:
var a = {};
a.__defineGetter__("bla", function(){alert(1);return 2;});
alert(a.bla);
Nó tương đương với [alert(1);alert(2)]
- mặc dù a.bla là undefined.
Tôi muốn đạt được kết quả tương tự nhưng để tính chưa biết (tức mà không biết trước rằng a. "Bla" sẽ là tài sản truy cập)
Cảm ơn Moshe. Đã chấp nhận câu trả lời này, vì nó giải quyết được câu hỏi gốc. – avri
Câu trả lời này không giải quyết được câu hỏi. Tính năng bạn đang tìm kiếm được gọi là ['Proxy' và nó sẽ không được triển khai bất kỳ lúc nào] (http://stackoverflow.com/q/6429521/1269037). –