如果我输入
}{
在Firefox或Chrome的控制台中,结果是未定义,而不是SyntaxError。
此构造返回 undefined (类似}的构造!{return false)。这种行为的原因是什么?
答案 0 :(得分:7)
当您在控制台中输入debugger;
时,会出现一个断点,显示答案:
with ((window && window.console && window.console._commandLineAPI) || {}) {
debugger;
}
在Chrome的开发者工具中,输入包含在with
块内,然后进行字面评估。因此,当您输入}{
时,将评估以下内容:
with ((window && window.console && window.console._commandLineAPI) || {}) {
}{
}
这是一个空的with
块,后跟一个空块。
练习读者:尝试}for(;;){