使用eval()定义const变量

当我尝试使用var定义变量时,一切正常。

但是将其定义为const不能按预期工作,并且该变量未定义。

window.eval("var v = 5;");

document.body.innerHTML += window.v === undefined;

window.eval("const l = 5;");

document.body.innerHTML += window.l === undefined;

我已经在Chrome和Node.js上对其进行了测试。我想念什么吗?

先感谢您!

回答:

eval 代码中使用 letconst 不会调用严格模式。 letconst

lexicalDeclarations ,将它们的范围限制为封闭的词法范围。 __ __

词法作用域由一个块和直接调用 eval 来创建(请参阅 运行时语义:PerformEva步骤12 )。

以上是 使用eval()定义const变量 的全部内容, 来源链接: utcz.com/qa/403895.html

回到顶部