title: javascript eval in context without using this keyword
body: <p>I am trying to execute eval within a particular context. I have found the answer <a href="https://stackoverflow.com/a/25859853/1972493">here</a> useful. However I am getting the following behavior in Chrome Version 53.0.2785.143 m. Not tried other browsers. The code I am using is the following:</p>
  
  <pre><code>function evalInContext(js, context) {
      return function() { return eval(js); }.call(context);
  }
  
  
  console.log(evalInContext('x==3', { x : 3})) // Throws
  console.log(evalInContext('this.x==3', { x : 3})) // OK
  </code></pre>
  
  <p>However I expected the first call to <code>evalInContext</code> not to throw. Any ideas why this might be happening?</p>