2010-08-18 39 views
18

Tôi thấy có một số answered question về việc liệu có sự khác biệt giữa việc sử dụng $(document).ready(function(){})$(function(){}) (không có), nhưng câu hỏi của tôi là cú pháp được ưu tiên và tại sao.

Tôi đã sử dụng jQuery trong khoảng một năm và luôn sử dụng cú pháp $(document).ready(); nhưng gần đây trên SO và ở một số nơi khác, tôi đã thấy cú pháp $(function()) được sử dụng ngày càng nhiều.

Có cú pháp ưa thích nào bạn sử dụng và tại sao bạn sử dụng nó? Bạn có sử dụng cú pháp ngắn hơn chỉ để lưu một vài ký tự không?

Chỉ cần một chút nền tảng nữa, tôi hiện đang bắt đầu một ứng dụng mới từ đầu và muốn đưa ra một số tiêu chuẩn và thực tiễn tốt nhất được chấp nhận chung.

Cảm ơn trước!

Trả lời

23

Tôi sử dụng $(document).ready(function(){}); bất chấp việc nhập thêm. Tôi chỉ muốn có điều đó trong mã của tôi để nhắc tôi chính xác khi nào mã sẽ chạy, và cho khả năng tìm kiếm 'sẵn sàng' để tìm những phần đó. Đó là chức năng tương tự, và tôi thường sử dụng các phím tắt, nhưng trong trường hợp này thì không.

+2

Khả năng đọc là một lý do chính đáng để làm điều gì đó một cách nào đó, tất cả những thứ khác bằng – hvgotcodes

+0

Đó là lý do tại sao tôi đã sử dụng tài liệu. quá lâu, bởi vì tôi biết chuyện gì đang xảy ra. Cảm ơn! –

10

Bạn có thể sử dụng một trong hai, $(function() {})just a shortcut có nghĩa là chính xác là điều tương tự.

Cá nhân tôi thích $(function() { }) vì ... tốt, tôi nhập số và nhanh hơn rất nhiều.

Tôi thấy rất nhiều câu hỏi tại sao $(document).load() không hoạt động và vì chúng không sử dụng đúng sự kiện ... Tôi cũng nghĩ rằng $(func) mất một số sự mơ hồ, cho tôi. Làm bất cứ điều gì bạn thích, rõ ràng hơn là cho bạn và nhóm của bạn là lựa chọn tốt nhất ở đây.

+0

cảm ơn. Tôi đánh giá cao quan điểm. –

1

Tôi thấy rằng $(function() {}); chỉ đơn giản hơn và tiết kiệm một vài ký tự. Như bạn đã nói, nó không quan trọng. Tôi nghĩ rằng những điều quan trọng hơn phải lo lắng là các mẫu thiết kế của bạn cho javascript của bạn. Chúng có thể ảnh hưởng đến hiệu suất, khả năng đọc và tính đơn giản.

+4

Tôi đã thấy "đáng lo ngại về các mẫu thiết kế của bạn", có rất nhiều mã ... –

2

Tôi tin rằng các tác giả của jQuery khuyên bạn nên sử dụng $(document).ready(function(){...}); vì nó làm cho mã của bạn minh bạch hơn.

+0

Khi bạn nói 'minh bạch hơn', bạn có nghĩa là nó rõ ràng hơn những gì bạn đang hành động (yếu tố tài liệu trong trường hợp này)? Cảm ơn!! –

+1

Chính xác. Một trong những điều tuyệt vời về cú pháp của jQuery là sự rõ ràng của nó. Bằng cách sử dụng '$ (document) .ready (function() {...}' sự rõ ràng này được duy trì ngay từ đầu. Tôi hiểu rằng việc sử dụng '$ (function() {})' yêu cầu ít tổ hợp phím hơn, nhưng với tất cả các phím tắt có thể tùy chỉnh được cung cấp bởi các chương trình như Coda, Espresso và TextMate, tôi không thấy rằng các phím tắt bắt đầu này phải được nhập hoàn toàn. – Squirkle

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