0

I am having a hard time understanding why logging out 'this' on line 8, gives me a Window Object?

var myObject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log("outer func:  this.foo = " + this.foo);
        console.log("outer func:  self.foo = " + self.foo);
        (function() {
            console.log(this) // here, 'this' is window. Why?
            console.log("inner func:  this.foo = " + this.foo);
            console.log("inner func:  self.foo = " + self.foo);
        }());
    }
};
myObject.func();
Hima Chhag
  • 401
  • 7
  • 22

0 Answers0