Closure and this clarification?
<p>I'm encountering with a little problem  with the context of <code>this</code> :</p>

<p>In JavaScript <code>this</code> always refers to the "owner" of the function we're executing, or rather,  to the object that a function is a method of.</p>

<p>So, this code :</p>

<pre><code>var o={

  f:function ()
     {
       console.log(this); //the owner of the function is `o`
     }
}

console.log(o.f()) // this shows the `o` as this
</code></pre>

<p>all OK.</p>

<p>So why this code</p>

<pre><code>var o = {
    f: function ()
    {
        return function ()
        {
            console.log(this);
        }
    }
}
console.log(o.f()())
</code></pre>

<p>Shows that <code>this</code> is the global object/window ?</p>

<p><code>o.f()</code> returns a function  , and then I execute it.but still the Hoster object is <code>o</code>.   so why it shows the hoster as <code>window</code>?</p>
