когда вытаскиваешь функцию из обьекта и засовываешь куда-то в другое место, то this внутри функции (может поменять) меняет свое значение.
Когда ты передаешь эту функцию в обработчик, то this в ней уже ссылается не на тот обьект в котором она лежала а на тот this который укажет вызыватель обработчиков (внутребраузерная штука). По этому при доставании функции из обьекта, если нужно сохранить привязку this к этому обьекту нужно сделать так
element.addEventListener('mousemove', mov.computation.bind(mov), false);
bind переводится привязать =)
И кстати, такая фигня работает не только при обработчиках а при любом доставании функции из обьекта и кладении её в другое место. грубо говоря this ом в функции будет то что стояло слева от точки
при вызове функции.
obj.qwqw.ww() // this == qwqw
var rr = {}
rr.ww = obj.qwqw.ww;
rr.ww() // this == rr
ww = obj.qwqw.ww;
ww() // this == window
еси там ни чо не стояло то this == window