title: Does Chrome's javascript garbage collection work differently?
body: <p>When I try to debug this code (<a href="http://jsfiddle.net/QWFGN/">http://jsfiddle.net/QWFGN/</a>)</p>
  
  <pre><code>var foo = (function(numb) {
      return {
          bar: function() {
              debugger;
              return "something";
          }
      }
  })(1);
  foo.bar()
  </code></pre>
  
  <p>Developer tool in Chrome behaves differently than and Firebug in Firefox and developer tool in IE. The issue is that variable <code>numb</code> <strong>is not visible in Chrome developer tool</strong> on the <code>debugger;</code> line. But, it is visible in Firebug and IE. If I try to type <code>numb</code> in Chrome's console I get:</p>
  
  <pre><code>ReferenceError: numb is not defined
  </code></pre>
  
  <p><code>numb</code>, of course, is visible in this closure, and if I change code to (<a href="http://jsfiddle.net/QWFGN/1/">http://jsfiddle.net/QWFGN/1/</a>)</p>
  
  <pre><code>var foo = (function(numb) {
      return {
          bar: function() {
              debugger;
              console.log(numb);
              return "something";
          }
      }
  })(1);
  foo.bar()
  </code></pre>
  
  <p><code>numb</code> is now visible in Chrome as well and I can get value <code>1</code> as a response.</p>
  
  <p>So, My question is: <strong>Why only Google Chrome doesn't see closure variables that are never used?</strong> Does Google Chrome have it's own implementation of Garbage Collection, or is it only related to implementation of debug tool in Google Chrome.</p>