Javascript Eval в контексте без использования этого ключевого слова
Я пытаюсь выполнить Eval в определенном контексте. Я нашел ответВот полезно. Однако я получаю следующее поведение в версии Chrome 53.0.2785.143 m. Не пробовал другие браузеры. Я использую следующий код:
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
Однако я ожидал, что первый звонокevalInContext
не бросать. Есть идеи, почему это может происходить?