javascript - Mã JavaScript nên có bao nhiêu kiến thức về DOM?
In lạiTác giả: Hồ XilThời gian cập nhật: 2023-11-01 14:55:33274
Tôi sử dụng trên trang web của tôi C# Và ASP.NET MVC 3 Triển khai OpenID và OAuth. Tôi dựa vào DotNetMởAuthcho phần phụ trợ vàbộ chọn openidĐối với mặt trước.
Tôi đã tìm thấy rất nhiều mã xử lý DOM như thế này:
chức năng đánh dấu (boxId) { // xóa phần đánh dấu trước đó. var highlight = $('#openid_highlight'); nếu (đánh dấu) { highlight.replaceWith($('#openid_highlight a')[0]); } // thêm điểm nổi bật mới. $('.' + boxId).wrap(''); };
hoặc
hàm useInputBox(nhà cung cấp) { diện tích var = $('#openid_input_area'); var id = 'openid_username'; var html = ''; giá trị var = ''; kiểu var = ''; nhãn var = nhà cung cấp.nhãn; nếu (nhãn) { html = '
' + nhãn + '
'; } if (provider.name == 'OpenID') { id = this.input_id; giá trị = 'http://'; style = 'background: #FFF url(' + spritePath + ') cuộn không lặp lại 0 50% đệm-trái:18px;'; } html += '' + ''; khu vực.empty(); khu vực.append(html); $('#' + id).focus(); };
Theo tôi, tất cả đều giả định quá nhiều về DOM (quá nhiều ID hoặc trạng thái hiện tại của DOM).
Có thể kết hợp chặt chẽ javascript với DOM không? Cách tốt nhất để tránh mã như thế này và làm theo cách tiếp cận ít xâm lấn hơn là gì?
Tôi sẽ tranh luận vì bạn nghi ngờ đây là một điều xấu.
Các mẫu thiết kế đang thiếu trầm trọng trong quá trình phát triển giao diện người dùng Javascript. Tôi đoán nhiều người bắt đầu trực tiếp từ html, tìm hiểu một số jQuery và sau đó viết ứng dụng web.
Một hệ thống đơn giản (mà tôi đã tìm thấy) xử lý vấn đề này tốt hơn là Backbone.js. Mã nguồn rõ ràng và dễ đọc, đồng thời phân biệt rõ ràng các mối quan tâm Xem khỏi các mối quan tâm logic nghiệp vụ.
Giới thiệu về javascript - Bạn cần có bao nhiêu kiến thức về DOM đối với mã JavaScript? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/9851866/
Tôi là một lập trình viên xuất sắc, rất giỏi!