Why is setTimeout closing my variables twice?
<p>I really don't get it</p>

<pre><code>var f = function() { alert('f') };
var g = function() { alert('g') };
setTimeout(f, 2000);
var h = function() { f() };
f = g;
h();
</code></pre>

<p>Yeah, I know, this is the way it goes and I have to live with it, but I don't see any reason for this. Enlighten me.</p>

<p>PS. Check the subj btfore you answer, I'm doing Python, Ruby and .NET for a living and I've read Crockford. And I even know what the pointer is.</p>
