Tôi không nghĩ rằng mình đã quấy rầy cà ri. Tôi hiểu những gì nó làm, và làm thế nào để làm điều đó. Tôi chỉ không thể nghĩ ra một tình huống tôi sẽ sử dụng nó.Cà ri JavaScript: các ứng dụng thực tế là gì?
Bạn đang sử dụng currying ở đâu (hoặc các thư viện chính sử dụng nó ở đâu)? Thao tác DOM hoặc các ví dụ phát triển ứng dụng chung được chào đón.
One of the answers đề cập đến hoạt ảnh. Các chức năng như slideUp
, fadeIn
lấy một phần tử làm đối số và thường là hàm được thu thập trả về hàm thứ tự cao với chức năng “hoạt ảnh động” mặc định được tích hợp sẵn. Tại sao điều đó tốt hơn là chỉ áp dụng hàm cao hơn với một số giá trị mặc định?
Có bất kỳ hạn chế nào khi sử dụng không?
Theo yêu cầu đây là một số nguồn lực tốt về currying JavaScript:
- http://www.dustindiaz.com/javascript-curry/
- Crockford, Douglas (2008) JavaScript: The Good Parts
- http://www.svendtofte.com/code/curried_javascript/ (Mất một đường vòng vào ML nên bỏ qua toàn bộ phần từ “Khóa học về sự cố trong ML” và bắt đầu lại tại “Cách viết JavaScript đã được chỉnh sửa”)
- http://blog.morrisjohns.com/javascript_closures_for_dummies
- How do JavaScript closures work?
- http://ejohn.org/blog/partial-functions-in-javascript (Mr. Mr. Resig trên tiền như bình thường)
- http://benalman.com/news/2010/09/partial-application-in-javascript/
tôi sẽ bổ sung thêm khi chúng xuất hiện trong các ý kiến.
Vì vậy, theo câu trả lời, ứng dụng currying và một phần nói chung là các kỹ thuật tiện lợi.
Nếu bạn thường xuyên "tinh chỉnh" chức năng cấp cao bằng cách gọi hàm đó bằng cùng cấu hình, bạn có thể cà ri (hoặc sử dụng phần của Resig) chức năng cấp cao hơn để tạo các phương pháp trợ giúp đơn giản, ngắn gọn.
bạn có thể thêm một liên kết đến một tài nguyên mô tả những gì JS currying là? một bài hướng dẫn hoặc một bài đăng trên blog sẽ tuyệt vời. –
svendtofte.com là longwinded nhưng nếu bạn bỏ qua toàn bộ phần từ "A crash course in ML" và bắt đầu lại tại "Làm thế nào để viết curried JavaScript" nó sẽ trở thành một giới thiệu tuyệt vời để currying trong js. – danio
Đây là điểm khởi đầu tốt để hiểu những gì cà ri và một phần ứng dụng thực sự là: http://slid.es/gsklee/functional-programming-in-5-minutes – Kay