В JavaScript this работает иначе других языков.
Это контекст в котором выполняется функция, по-сути это данный объект или любой другой назначенный.
Если изучить это, сразу станет понятнее.
function plus() {
return this.a;
}
var obj = {a:3};
alert(plus()); // undefined - не задано
var result = plus.call(obj) // вызываем в контексте определенном.
alert(result) // => 3
Причем если это функция, this = windows окна, если в классе, то prototype его(новый объект).
demo.someFunction(params) => тут this = demo