javascript && evaluate
<p>here is javascript code:</p>

<pre><code>var test = {
    "h" : function (a) {return a;},
    "say" : "hello"
};
</code></pre>

<p>First run:</p>

<pre><code>test['h'] &amp;&amp; true
</code></pre>

<p>result is true</p>

<p>second run :</p>

<pre><code>true &amp;&amp; test['h']
</code></pre>

<p>result is function()</p>

<p>my question is, why first run and second run produce different result</p>
