Установка методов через объект-прототип или в конструктор, разница? [Дубликат]

На этот вопрос уже есть ответ:

Использование «прототипа» против «этого» в JavaScript? 14 ответов

Не могли бы вы объяснить разницу между методами установки в конструкторе и прототипом объекта? Следующий код показывает эти два способа установки методов -say_hello а такжеsay_bye оба отлично работают:

function MessageClass() {
  this.say_bye = function() { alert('see ya'); };
}

MessageClass.prototype.say_hello = function() { alert('hello'); };

x = new MessageClass();
x.say_hello();
x.say_bye();

Ответы на вопрос(3)

Ваш ответ на вопрос