JavaScript cho phép bạn thêm các thuộc tính và phương thức tùy ý vào bất kỳ đối tượng nào, bao gồm các nút DOM. Giả sử tài sản cũng được đặt tên không chính xác (giống như _myLib_propertyName
) để nó có thể không tạo ra xung đột, có bất kỳ lý do chính đáng nào để không lưu trữ dữ liệu trong các nút DOM không?Thực tiễn không tốt để thêm thuộc tính vào nút DOM?
Có trường hợp sử dụng tốt nào để làm như vậy không? Tôi tưởng tượng làm điều này thường xuyên có thể đóng góp vào một kiểu mã hay mã hóa khó hiểu hoặc phản trực giác, nhưng có vẻ như cũng có lúc các thuộc tính "tùy chỉnh" vào các nút DOM sẽ hiệu quả và tiện lợi kỹ thuật.
Ít nhất Juriy Grigoryevich Zaytsev [(kangax)] (http://stackoverflow.com/users/130652/kangax) nghĩ bạn [không nên làm điều này] (http://perfectionkills.com/whats-wrong -với-mở rộng-the-dom /). –
Lưu ý từ tương lai: ES 5.1 từ tháng 6 năm 2011 có ['Object.seal()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal) ngăn bạn thêm thuộc tính vào đối tượng. – Archimedix