Declare variable without var keyword and logical OR
<p>I get a strange behavior when declaring an object with the logical OR.</p>

<pre><code>my_var = my_var || {}; // throws TypeError
</code></pre>

<p>If I add the <code>var</code> keyword</p>

<pre><code>var my_var = my_var || {}; // returns empty object
</code></pre>

<p>Why is this? I can't seem to find an explanation. <code>my_var</code> is global scope, so why is <code>var</code> changing the behavior?</p>
