如果我输入
}{
在 Firefox 或 Chrome 的控制台中,结果是undefined,不是 SyntaxError。
此构造返回undefined(类似}!{ 的构造返回false)。这种行为的原因是什么?
最佳答案
当您输入 debugger;
在控制台中,出现了一个断点,它揭示了答案:
with ((window && window.console && window.console._commandLineAPI) || {}) {
debugger;
}
在 Chrome 的开发者工具中,输入被包装在 with
block 中,然后逐字计算。因此,当您输入 }{
时,会计算以下内容:
with ((window && window.console && window.console._commandLineAPI) || {}) {
}{
}
这是一个空的 with
block ,后跟一个空 block 。
给读者的练习:尝试 }for(;;){
关于javascript - 为什么 Firefox 和 Chrome 控制台中的 '}{' 之类的构造会返回 'undefined' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12022390/