title: Function execution context, browser vs. nodejs
body: <p>The following function provides two different results, in Node and Browser:</p>
  
  <pre><code>(function funfunfun(root, factory) {
      console.log(root === this);
      factory(root);
  })(this, function (root) {
      console.log(root === this);
  });
  </code></pre>
  
  <p>In node, it will output false twice. In the browser it will output true twice, as I would expect.</p>
  
  <p>So the question is... why?</p>