Недавно я начал изучать прототипы в Javascript. Я смущен о преимуществах добавления методов в прототип. Вот пример того, что я имею в видуПреимущества прототипирования объектов Javascript?
Один из способов вычисления площади круга может быть, как это
function Circle(radius, area){
this.radius = radius;
this.area = (radius*radius*Math.PI);
}
Но тогда другой путь был бы как этот
function Circle(radius, area){
this.radius = radius;
}
Circle.prototype.area = function(){
return this.radius*this.radius*Math.PI
}
Что такое преимущество сделать метод области частью прототипа против помещения метода непосредственно в конструктор?
Вы не поместили метод в конструктор. Если бы у вас было, преимущество было бы в том, что метод прототипа доступен для всех экземпляров, а не для создания нового метода для каждого экземпляра. –
Что делать, если вы хотите добавить метод к собственной функции, к которой у вас нет доступа к конструктору. –
Это просто плохой пример (с некоторыми запутанными реализациями/аргументами), но в основном, подумайте о строках ... вы «как» с методами прототипов на строках? это «преимущество». – Amit