I am a little bit confused on how this works, let me post you an example code:
someClass = function() {
    this.a = 10;
    this.Foo = function() {
        console.log(this.a); // will output "10"
        setTimeout(this.Bar, 1);
    }
    this.Bar = function() {
        console.log(this.a); // undefined
    }
}
var instance = new someClass();
instance.Foo();
My understanding is that this.a is not visible in function Bar if it is called from setTimeout (or some other "handler" type of thing.) What is the common/correct way of solving that?
(I am trying this in Node.js btw)
Thank you.
 
     
    