2008-09-02 73 views
34

Một số tài nguyên tốt để tìm hiểu các phương pháp hay nhất cho Javascript là gì? Tôi chủ yếu quan tâm đến khi một cái gì đó nên là một đối tượng so với khi nó chỉ nên được theo dõi trong DOM. Ngoài ra tôi muốn tìm hiểu tốt hơn về cách tổ chức mã của tôi để dễ dàng kiểm tra đơn vị.Các phương pháp hay nhất về Javascript

+0

[This.] (Http://stackoverflow.com/questions/39691/javascript-best-practices#39713) – Will

Trả lời

36

Seconding Javascript: The Good Parts và sách của Resig Secrets of the Javascript Ninja.

Dưới đây là một số mẹo để javascript:

  • Đừng làm ô nhiễm không gian tên toàn cầu (đặt tất cả các chức năng thành các đối tượng/đóng cửa)
    • Hãy xem YUI, đó là một codebase lớn với chỉ 2 đối tượng toàn cầu: YAHOO và YAHOO_config
  • Sử dụng mô hình mô-đun cho độc thân (http://yuiblog.com/blog/2007/06/12/module-pattern/)
  • Làm cho JS của bạn càng tái sử dụng càng tốt (các plugin jQuery, các mô-đun YUI, các đối tượng JS cơ bản.) Không viết nhiều hàm toàn cục.
  • Đừng quên var biến của bạn
  • Sử dụng JSLint: http://www.jslint.com/
  • Nếu bạn cần để tiết kiệm nước, nó có thể là tốt nhất để sử dụng đối tượng thay vì DOM.
+0

Tôi thích JavaScript: Phần tốt. Tuy nhiên, tôi không phải là người hâm mộ phong cách mã hóa của Crockford, tôi nghĩ anh ấy quá khăng khăng không làm cho JS trông giống như một ngôn ngữ OO điển hình. Tôi sử dụng nó chỉ để tìm ra thủ thuật của ngôn ngữ và áp dụng cho phong cách của riêng tôi, cố gắng mô phỏng sự thừa kế cổ điển với JS, vì nó làm cho nó dễ đọc hơn đối với mọi người thuộc mọi nền ngôn ngữ. –

2

Có lẽ điều quan trọng nhất là sử dụng khung làm việc, chẳng hạn như jQuery hoặc prototype, để giải quyết sự khác biệt giữa các trình duyệt và cũng giúp mọi thứ dễ dàng hơn nói chung.

+1

Tôi hoàn toàn không đồng ý. Trong khi tại một thời điểm điều này có thể đã được tư vấn hợp lệ bây giờ có vẻ như khuôn khổ chủ yếu được sử dụng bởi newbs để che giấu sự thiếu kinh nghiệm của họ và hoàn toàn không có khả năng viết JavaScript hoặc truy cập DOM. – austincheney

+1

Tôi hoàn toàn không đồng ý với bạn austincheney. phàn nàn về khung công tác là cách noobs ẩn khỏi thực tế là họ không biết cách sử dụng các công cụ để làm cho công việc của họ dễ dàng hơn. Đừng lãng phí thời gian nữa. Tìm hiểu làm thế nào để đứng trên vai của người khổng lồ. Cũng đi trực tiếp DOM là một ý tưởng khủng khiếp. – akronymn

5

Tôi thích JavaScript:The Good Parts bởi Douglas Crockford mặc dù nó tập trung hoàn toàn vào ngôn ngữ và bỏ qua DOM hoàn toàn.

8

Tôi không đồng ý với tuyên bố "sử dụng khung" ở một mức độ nào đó. Quá nhiều người sử dụng khung một cách mù quáng và có ít hoặc không có sự hiểu biết về những gì đang xảy ra phía sau màn cửa.

1

Là một phụ lục cho cuốn sách Crockford, bạn cũng có thể muốn kiểm tra mảnh này Code Conventions for the Javascript Programming Language. Tôi cũng có một gợi ý hơi khác: thay vì sử dụng một thư viện JS ra khỏi dơi, tại sao không tạo của riêng bạn? Bạn có thể viết một thư viện crappy (như tôi đã làm), nhưng bạn sẽ học một cái gì đó trong quá trình này. Bạn có các ví dụ hiện tại bạn có thể sử dụng làm mô hình. Ngoài ra, để giúp bạn hiểu về các mẫu thiết kế JS, tôi sẽ giới thiệu một cuốn sách khác, 'Các mẫu thiết kế Javascript chuyên nghiệp'.

2

YUI Theatre có một loạt video (một số bảng điểm) của Steve Souders, Douglas Crockford, John Resig và những người khác về JavaScript, YUI, hiệu suất trang web và các chủ đề liên quan khác.

Ngoài ra còn có rất quan tâm đến các cuộc đàm phán công nghệ của Google trên Youtube trên jQuery và các khung công tác khác.

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