0

我想让浏览器暂存器充当在线控制台的原因是因为当我在Eloquent JS 代码沙箱中执行以下代码时:

var foo = typeof "abc";
console.log(foo);

返回:string如预期的那样。但是,Firefox (45 ESR) 暂存器中的完全相同的代码返回:undefined. 这种行为差异只是让我对 Firefox 上的结果保持警惕。

试图获得所需的暂存器行为,并查看有关此主题的 MDN文章,它说:

您可以编写、运行和检查与网页交互的代码的结果。

基本上暗示执行的代码与您当前所在的页面相关联(对此不完全确定)。基于此,在同一篇文章的另一部分进一步指出,要在浏览器上下文而不是页面上下文中运行代码,应该启用chrome 和附加调试选项,但我没有这样做。

知道为什么会出现这种差异吗?它已在 Chrome 61、Safari 8 和 6 上成功测试,所以我想知道它是否可能是隐藏功能/错误配置或最终是错误。非常感谢您的帮助!

4

1 回答 1

0

console.log() 不返回任何值,因此它显示“未定义”

alert(console.log("anything")); //undefined

要显示控制台功能的输出,请打开控制台本身(不是暂存器)

或从您的代码中删除 console.log() 以显示 foo 值,女巫是“字符串”

摘要: foo 是字符串 console.log(foo) 未定义

于 2018-10-16T09:20:59.420 回答