Ох...
Для начала нам стоит прояснить что в javascript "методы" это обычные функции, которые просто привязаны к объекту. Если не вдаваться в подробности работы интерпритатора, вы можете спокойно вынести содержимое конструктора и заменить this на экземпляр объекта.
Если совсем упростить - в javascript нет "методов", у объектов могут быть только свойства. "Методы" реализуются присваиванием функции (обычно анонимной) к свойству объекта.
Теперь про this. this - это контекст вызова. Это "волшебная" переменная указывает на контекст, в котором мы вызвали какую-либо функцию. Она никак не фиксируется, и мы можем крутить и вертеть ей как хотим.
По умолчанию она указывает на "владельца" функции. Тот объект, в контексте которого мы вызвали функцию.
function foo() {console.log(this);}
function MyObject() {
this.foo = foo;
}
var hashMap = {
foo: foo
};
var obj = {};
var instance = new MyObject();
obj.bar = instance.foo; // мы можем даже красть методы
foo(); // выведет window, если для браузера и мы вызывали в глобальном контексте
instance.foo(); // выведет instance так как в контексте этого объекта мы это дело и вызывали
hashMap.foo(); // выведет hashMap по той же причине
obj.bar(); // выведет obj опять же потому что мы вызывали функцию в этом контексте
foo.call('my own context') //мы можем задать свой контекст
Зачем присваивается this и используется в дальнейшем?
У функции есть своя область видимости. Ей доступны все переменные/идентификаторы которые определены в ее области видимости и выше в плодь до глобальной. То есть наши обработчики событий будут всегда видеть переменные объявленные в конструкторе. Причем именно то что было на момент вызова конструктора (то есть сохраняется во времени даже после завершения работы функции). Это к слову является типичной проблемой мемориликов, так как иногда люди забывают почистить за собой ссылки на объекты.
У нас конечно есть еще функция bind, которая позволяет явно зафиксировать контекст, но иногда удобнее так.
Именно за счет областей видимости функций в javascript мы достигаем инкапсуляции, скрываля приватные штуки внутри нашей области видимости и выплевывая наружу только то, что нужно. Самая настоящая инкапсуляция, модификаторы доступа в этом плане - просто кастыли (хотя для восприятия они проще).