Tôi mới bắt đầu học JavaScript và tình cờ gặp Underscore.js và jQuery . Dấu gạch dưới trông thực sự tuyệt vời nhưng tôi tự hỏi liệu jQuery chưa cung cấp các chức năng tương tự như Dấu gạch dưới. Vì vậy, có đáng để sử dụng cả hai không?
Tôi mới bắt đầu học JavaScript và tình cờ gặp Underscore.js và jQuery . Dấu gạch dưới trông thực sự tuyệt vời nhưng tôi tự hỏi liệu jQuery chưa cung cấp các chức năng tương tự như Dấu gạch dưới. Vì vậy, có đáng để sử dụng cả hai không?
Câu trả lời:
Lấy từ trang web gạch dưới :
Đó là sự ràng buộc để đi cùng với tux của jQuery và dây treo của Backbone.js.
Dấu gạch dưới phù hợp hơn với thao tác dữ liệu và mang lại nhiều phương thức Ruby cho JavaScript. Có một số điểm giao nhau, nhưng không đủ để làm cho chúng loại trừ lẫn nhau.
Dấu gạch dưới cung cấp tổng cộng 60 chức năng để xử lý dữ liệu / mã. Đồng ý rằng nhiều chức năng có trong các thư viện khác như jQuery, Prototype hoặc script.aculo.us. Ví dụ, các hàm như each, map, find, filter hoặc toArray đều có trong jQuery. Những thứ này cũng có trong Dấu gạch dưới. Điều này là để làm cho thư viện độc lập với jQuery.
Khi nào sử dụng gạch dưới? :
Hiện tại, nó được sử dụng rộng rãi với Backbone.js để sử dụng kiến trúc MVC để tạo ứng dụng Web Javascript một trang. Khả năng quan trọng nhất của underscore.js là khả năng tạo khuôn mẫu (điều mà jQuery không thể làm được). Thư viện này có nhiều chức năng hữu ích khác, độc lập với các thư viện Javascript khác.
Tìm bên dưới danh sách các chức năng được cung cấp bởi Dấu gạch dưới:
Bộ sưu tập: mỗi, bản đồ, giảm bớt, giảm ngay, tìm, lọc, từ chối, tất cả, bất kỳ, bao gồm, gọi, nhổ, tối đa, tối thiểu, sắp xếpBy, nhómBy, sắp xếpIndex, xáo trộn, toArray, kích thước
Mảng: đầu tiên, ban đầu, cuối cùng, phần còn lại, thu gọn, làm phẳng, không có, liên hợp, giao nhau, khác biệt, uniq, zip, indexOf, lastIndexOf, phạm vi
Chức năng: ràng buộc, ràng buộc, tất cả, ghi nhớ, trì hoãn, trì hoãn, điều tiết, gỡ lỗi, một lần, sau khi, bọc, soạn
Đối tượng: khóa, giá trị, hàm, mở rộng, mặc định, sao chép, chạm, isEqual, isEmpty, isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined
Utitity: noConflict, Identity , times, mixin, uniqueId, Escape, template
Nếu bạn lo lắng về sự chồng chéo và không cần những thứ như JQuery AJAX, thì bạn có thể xem xét chỉ sử dụng công cụ chọn JQuery, có tên là Sizzle.
Lưu ý rằng điều này không dành cho tất cả các dự án, bằng cách sử dụng Sizzle và Underscore, bạn sẽ mất một số chức năng của JQuery (như AJAX), bạn cần xem xét những gì bạn thực sự cần cho ứng dụng cụ thể của mình.