Можно ли переопределить метод класса JavaScript?

При использовании функции конструктора в JavaScript для создания класса, возможно ли позднее переопределить метод класса?

Пример:

function Person(name)
{
    this.name = name;
    this.sayHello = function() {
        alert('Hello, ' + this.name);
    };
};

var p = new Person("Bob");
p.sayHello();   // Hello, Bob

Теперь я хотел бы переопределитьsayHello нравится:

// This doesn't work (creates a static method)
Person.sayHello() = function() {
   alert('Hola, ' + this.name);
};

поэтому, когда я создаю другойPerson, новыйsayHello метод будет вызван:

var p2 = new Person("Sue");
p2.sayHello();   // Hola, Sue
p.sayHello();    // Hello, Bob

РЕДАКТИРОВАТЬ:

Я понимаю, что могу послать аргумент типа «Привет» или «Привет»sayHello для достижения другого выхода. Я также понимаю, что мог бы просто назначить новую функцию для p2 следующим образом:

p2.sayHello = function() { alert('Hola, ' + this.name); };

Мне просто интересно, могу ли я переопределить метод класса, чтобы новые экземплярыPerson будет использовать новыйsayHello метод.

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

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