Reference type in javascript
<pre><code>obj = {
  go: function() { alert(this) }
}

obj.go(); // object

(obj.go)(); // object

(a = obj.go)(); // window

(0 || obj.go)(); // window
</code></pre>

<p>Can anyone explain me why the latter two prints window object and the first two prints the reference. </p>
