javascript - 为什么 Firefox 和 Chrome 控制台中的 '}{' 之类的构造会返回 'undefined' ?

标签 javascript firefox google-chrome-devtools

如果我输入

}{

在 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/

相关文章:

firefox - 我可以从 Firefox 缓存中删除特定文件吗?

css - Firefox 中的谷歌字体呈现像素化

python - 将 selenium 设置为使用自定义配置文件,但它保持默认打开

cross-browser - Chrome 开发人员工具用户代理覆盖在模拟其他浏览器方面的效果如何?

javascript - 搜索多个 html #ID 并传递给函数

javascript - vuejs定时器组件重启/停止

javascript - 如何在 Titanium appcelerator 中将 textArea 的高度动态增加到 3 行高(就像 whatsApp 消息框一样)?

javascript - 谷歌地图API gm_bindings_未定义

google-chrome - 网络选项卡上的这些数字是什么意思?

javascript - Chrome javascript 绑定(bind)函数不一致