Tôi là một lập trình viên khá có kinh nghiệm trong các lĩnh vực .NET và Java và tôi đã bắt đầu đọc về JavaScript. Tôi đã mua cuốn sách "Những phần tốt" của Douglas Crockford và ngay lập tức tôi sẽ bỏ qua một vài điều.
Một là sửa đổi các loại cơ bản mà không cần:
if (typeof Object.create !== 'function') {
Object.create = function (o) { //Really... 'o'? For a parameter you're only using twice?
function F() {}
F.prototype = o;
return new F();
};
}
newObject = Object.create(oldObject);
Rõ ràng việc tạo một chức năng với mục đích này là hữu ích và tiết kiệm thời gian, nhưng TẠI SAO anh ấy lại khuyên bạn nên tạo nó trên Object? Ba hơi thở trước đây anh ta đã tán thành rằng toàn cầu là xấu xa, và sau đó anh ta tiến hành vá khỉ. Anh ta thậm chí còn kiểm tra xem nó đã tồn tại chưa, và chỉ giả định rằng nếu một thư viện khác đã làm điều đó cho anh ta thì việc thực hiện là như vậy.
Có một số lý do để không tạo ra điều này trong JS tương đương với một không gian tên? I E
MY_UNIQUE_UTIL_LIBRARY.create = function(obj){...}; //The name would be shorter in reality.
Đừng hiểu sai ý tôi, tôi nghĩ việc vá khỉ là hữu ích, nhưng đó là việc bạn làm khi có lợi ích vốn có. Tôi không thấy một cái ở đây? Có một cái không?