Tôi là một phần của một nhóm nghiên cứu nhỏ tại nơi làm việc đang cố nắm bắt tốt hơn những gì làm cho JavaScript đánh dấu. Trong các cuộc thảo luận gần đây về các đối tượng, chúng ta đã biết rằng các phương thức công khai của một đối tượng được tái tạo mỗi khi một đối tượng được khởi tạo, trong khi các phương thức được gán cho nguyên mẫu của đối tượng chỉ được tạo một lần và được thừa hưởng bởi tất cả các cá thể. Từ những gì tôi hiểu, cả hai phương thức công cộng và những phương thức được gán cho nguyên mẫu đều có thể truy cập công khai.Tại sao lại sử dụng các phương thức công khai trong các đối tượng JavaScript?
Câu hỏi tôi có, sau đó, là lý do tại sao bận tâm tạo ra phương pháp công cộng ở tất cả nếu thêm vào nguyên mẫu rõ ràng là hiệu quả hơn? Phương pháp nào công khai cung cấp nguyên mẫu không?
Prototype Ngoài các đối tượng tạo ra phương pháp tương tự cho các đối tượng khác của cùng một lớp (trong trường hợp này là một chức năng) được thêm. ví dụ nếu tôi có 'var name = new Student()' và tôi đã thêm một prototype để đặt tên, nó sẽ có thể truy cập được 'var name2 = new Student()' cũng như –
@AkshayKhandelwal Giả sử OP có nghĩa là làm 'this.GetName = function() {...} 'bên trong hàm tạo' Student', bạn có thể truy cập từ cả hai, tuy nhiên nó được "tái tạo mỗi lần". –
Một câu hỏi tương tự: [Ưu điểm của việc sử dụng nguyên mẫu, so với phương pháp xác định thẳng trong hàm tạo?] (Http://stackoverflow.com/questions/4508313/advantages-of-using-prototype-vs-defining-methods-straight-in -the-constructor? rq = 1) –