tôi có thể ủy nhiệm một chức năng duy nhất trong javascript bằng cách làm một cái gì đó như thế này (chỉ jotted xuống từ bộ nhớ để chịu với tôi)Proxy động trong javascript?
function addAroundAdvice(target){
var targetFunction = target.aFunction;
target.aFunction = new function(){
invokePreCall();
targetFunction.apply(target, arguments);
invokePostCall();
}
}
Là một lập trình viên java Tôi muốn nghĩ về điều này như là một proxy động. Mỗi khi tôi viết mã như thế này tôi nghĩ rằng ai đó phải đã thực hiện một thư viện thực sự thông minh mà các hoạt động proxy phổ biến đó là ít nhất 10% tốt hơn so với những gì tôi có thể làm trong một vội vàng. Tôi sẽ mong đợi một số công cụ như chặn tất cả các phương pháp một cách chính xác cho bất kỳ đối tượng nhất định, mà có thể không hoàn toàn tầm thường. Sau đó, có nhiều loại lời khuyên khác nhau. Vì vậy, trong khi tôi không mong đợi một cái gì đó kích thước của scriptaculous, nó chắc chắn hơn 6 dòng mã.
Vậy các thư viện này ở đâu?
Nó sẽ giúp để biết những gì bạn đang cố gắng để đạt được. – cletus
Tôi chưa từng thấy chúng, nhưng tôi có khuynh hướng NIH ... –
Tôi vẫn chưa hiểu điểm: bạn muốn có thư viện để lưu lại 6 dòng mã? Thư viện có chi phí cao trong Javascript (trong khi trong C#/Java bạn dường như có họ chỉ cos bạn có thể). Tôi không thể nói rằng tôi đã từng cần viết xung quanh lời khuyên trong Javascript. – cletus