都说eval()函数会创建执行上下文,非严格模式也会吗?
'use strict';
var x = 1;
eval("var x = 2;");
console.log(x); // 严格模式为1,非严格模式为2
都说eval()函数会创建执行上下文,非严格模式也会吗?
'use strict';
var x = 1;
eval("var x = 2;");
console.log(x); // 严格模式为1,非严格模式为2
8 回答4.9k 阅读✓ 已解决
6 回答3.6k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.5k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
执行eval函数会创建执行上下文。
只不过严格模式执行eval函数,不会作用于它的外层作用域,所以修改x不会生效。