【发布时间】:2018-03-18 22:08:54
【问题描述】:
我想让浏览器暂存器充当在线控制台的原因是因为当我在 Eloquent JS code sandbox 中执行以下代码时:
var foo = typeof "abc";
console.log(foo);
按预期返回:string。但是,在 Firefox (45 ESR) 暂存器中返回完全相同的代码:undefined。这种行为差异只是让我对 Firefox 上的结果保持警惕。
试图获得所需的暂存器行为,并查看有关此主题的 MDN article,它说:
您可以编写、运行和检查与网页交互的代码的结果。
基本上表明执行的代码与您当前所在的页面相关联(对此不完全确定)。基于此,在同一篇文章的另一部分进一步指出,要在 browser 上下文而不是 page 上下文中运行代码,chrome 和应该启用附加调试选项,但我没有成功。
知道为什么会出现这种差异吗?它已在 Chrome 61、Safari 8 和 6 上成功测试,所以我想知道它是否可能是隐藏功能/错误配置或最终是错误。非常感谢您的帮助!
【问题讨论】:
-
你在哪里看到
undefined?它为我将string记录到控制台。你说它返回undefined,如果你说的是真的,那是正确的。console.log不返回任何内容(这意味着它默认返回undefined)。 -
是的,我只能想象它向您显示了最后一个表达式/语句的返回值,正如我所说,
undefined对应于console.log,所以这是正确的。 -
嗨@Felix,当我在暂存器窗口中单击 Display 而不是 Run Code 时它会出现(直到 47 版本没有嵌套在开发者工具上)。你要截图吗?我注意到您提到了控制台而不是暂存器,但我在两种环境中得到了完全相同的结果。不过,我将尝试更新的 Firefox 版本。感谢您的帮助!
标签: javascript firefox scratchpad