3

如果我输入

}{

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

此构造返回未定义(构造如 }!{ 返回 false)。这种行为的原因是什么?

4

1 回答 1

7

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

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

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

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

这是一个空with块,后面是一个空块。

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

于 2012-08-18T21:35:30.950 回答