为什么像{}在Firefox和Chrome控制台中的构造返回未定义?

时间:2012-08-18 21:26:20

标签: javascript firefox google-chrome-devtools

如果我输入

}{

在Firefox或Chrome的控制台中,结果是未定义,而不是SyntaxError。

此构造返回 undefined (类似}的构造!{return false)。这种行为的原因是什么?

1 个答案:

答案 0 :(得分:7)

当您在控制台中输入debugger;时,会出现一个断点,显示答案:

with ((window && window.console && window.console._commandLineAPI) || {}) {
debugger;
}

在Chrome的开发者工具中,输入包含在with块内,然后进行字面评估。因此,当您输入}{时,将评估以下内容:

with ((window && window.console && window.console._commandLineAPI) || {}) {
}{
}

这是一个空的with块,后跟一个空块。

练习读者:尝试}for(;;){