because you sometimes want to refer to the original 'this' reference inside an inner nested function scope, where the actual 'this' keyword is rebound to the context of the inner function.
function outer() {
var outer_this = this;
var inner = function() {
var inner_this = this;
// ...
}
}