title: what's the purpose of `new Function("return this")()` in immediately invoked function
body: <p>I'm reviewing the <a href="https://github.com/YuzuJS/setImmediate/blob/master/setImmediate.js#L175" rel="noreferrer">setImmediate polyfill</a> and it's wrapped inside immediate-invoking function with the following:</p>
  
  <pre><code>(function (global, undefined) {
      "use strict";
  ...
  }(new Function("return this")()));
  </code></pre>
  
  <p>I'm confused about the purpose the last statement and the parameters being passed to the function. Does it have something to do that this code might be run inside a browser as well as on Node.js? Can you please clarify?</p>