eval()函数会创建执行上下文吗?

都说eval()函数会创建执行上下文,非严格模式也会吗?

'use strict';
var x = 1;
eval("var x = 2;");
console.log(x); // 严格模式为1,非严格模式为2
阅读 2.5k
1 个回答

执行eval函数会创建执行上下文。
只不过严格模式执行eval函数,不会作用于它的外层作用域,所以修改x不会生效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏