Почему контекст отличается в этих двух обработчиках событий
Это базовый вопрос, но я не могу понять, почему контекст (этот' указатель) является правильным во втором обработчике событий и неверным в первом.
У меня есть эта простая функция конструктора для создания объекта 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()});
Первый показывает: «Я говорю: не определено Второй показывает: «Я говорю привет"
Я понимаю, что контекст (это) не является исходным объектом при вызове метода, но почему он корректен при вызове внутри функции для второй кнопки?