title: Changing the context of the function in Node JS
body: <p>I'm learning how to change the context of the function in Javascript from <a href="https://johnresig.com/apps/learn/#25" rel="nofollow noreferrer">this slide</a>. Here the example given is perfectly understandable: </p>
  
  <pre><code>var object = {}; 
  function fn(){ 
    return this; 
  } 
  console.log( fn() == this) //true
  console.log( fn.call(object) == object); //true
  </code></pre>
  
  <p>But when I try this in Node JS, the result is somewhat different. First statement results in <code>false</code> and second equality is working as expected. So is there any difference in Global scope of Node JS and browser? </p>
  
  <p>I know that browser has Global scope named <code>window</code>, but what about Node JS? What is the difference between those scopes which leads to the above different behaviours? </p>