【发布时间】:2021-05-19 00:30:23
【问题描述】:
我希望有人告诉我为什么 Javascript 在我这样做时不会抱怨:
eval("x = 1");
console.log(x);
output: 1
...但是,如果我这样做,它会抱怨:
eval("let x=1");
console.log(x);
output:
> ReferenceError: x is not defined
谢谢。 注意:我知道使用 eval 是不好的,严重的安全风险,等等,谢谢你。我只是想了解这背后的理论。
【问题讨论】:
-
抱怨什么?我可以在浏览器控制台中运行
eval("let x = 1")就好了。 -
它不适合我
-
添加错误信息,没有适当的反馈我们怎么知道?
-
“当我这样做时它会抱怨”:它抱怨什么?发布错误消息。
-
@KingDavid 最后检查我答案的更新部分。 Let 的作用域是 eval 函数
标签: javascript node.js eval