Почему контекст отличается в этих двух обработчиках событий

Это базовый вопрос, но я не могу понять, почему контекст (этот' указатель) является правильным во втором обработчике событий и неверным в первом.

У меня есть эта простая функция конструктора для создания объекта myNotifier:

function Notifier ( message ) {
  this.message = message;
  this.saySomething = function () {
    alert( "I say:" + this.message);
  }
}

myNotifier = new Notifier(" HELLO!");  

Тогда я используюmyNotifier.saySomething() Метод как обработчик события для щелчка на двух кнопках:

$(".button1").click( myNotifier.saySomething );
$(".button2").click( function () { myNotifier.saySomething()});

Первый показывает: «Я говорю: не определено Второй показывает: «Я говорю привет"

Я понимаю, что контекст (это) не является исходным объектом при вызове метода, но почему он корректен при вызове внутри функции для второй кнопки?

jsfiddle to testI '

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

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