【问题标题】:Chrome Devtools print undefined instead of the global varaible's valueChrome Devtools 打印未定义而不是全局变量的值
【发布时间】:2018-12-20 00:34:27
【问题描述】:

为什么用console.log打印x的结果是undefined


更新:

这不是重复的。我试图理解为什么 console.log 不打印。

我说的不是console.log的返回值。

【问题讨论】:

  • 当我执行console.log(x) 时,我得到123 (x),然后是undefined(因为console.log() 没有返回任何内容)
  • @dAxx_ 我不认为这是一个骗局。 console.log 中的 undefined 没有解释为什么没有记录 x 的值。 console.log(x) 的预期输出将是 123 (newline) undefined
  • 是的,正如@dgeare 所说。为什么我看不到使用console.log 打印x 的实际值?
  • @StavAlfi 也许 x 正在页面上被修改?您是否从更独特的变量名中获得相同的行为?
  • 抱歉,澄清一下:blank 是您在 chrome 中打开的页面/网址。只是一个没有任何内容的 HTML 文档。我只是想删除所有无关的环境变量/脚本。 lifewire.com/about-blank-4125143

标签: javascript google-chrome google-chrome-devtools


【解决方案1】:

所以我稍微挖掘了一下,我发现了一些可能发生在你身上的事情。
当您打开开发工具时,左侧有这个小图标:

如果您单击它,它将打开一个侧边栏,并且如果您标记我指出的两个选项之一,它将不会显示 console.log 打印。
更改为第一个选择,您会发现打印出来了。

【讨论】:

  • 我做的和你一样,但我仍然看到undefined,尽管每次打印后消息数量都在增加。
【解决方案2】:

登录到控制台是 devtools 中的多余操作,因为它必然会将传递给它的任何值输出到控制台。

x

是将 x 的值打印到控制台的正确方法。

console.log(x)

和写基本一样

console.log(console.log(x))

返回未定义。但是,如果您有一个活动的调试器,它会评估并打印值

【讨论】:

  • 即使它是多余的,它仍然应该打印一些东西。这并不能解释为什么不是。
  • 因为 console.log(x) 没有价值。运行 console.log() 不会返回值。如果你有一个函数:function returnValue(value){ return value } 然后运行:console.log(returnValue(x)),它会记录函数返回的值,但是 console.log 不这样做,它会打印到控制台,您已经通过在控制台中输入来执行此操作,因此记录 console.log() 的返回值会返回 undefined
  • 问题不在于价值,而在于他为什么看不到它的输出。
  • 他输入console.log(x),所以它应该显示x的值,然后返回undefined。但他看到的只是返回值。
  • 我需要console.log 才能打印,因为我无法按照您的建议登录函数。
【解决方案3】:

我在这里找到了答案:Chrome: console.log, console.debug are not working:

@蒂姆:

同样的问题,但我刚刚清除了我的设置。我进入设置>首选项并单击[恢复默认值并重新加载]。请记住您的设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 2019-04-08
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    相关资源
    最近更新 更多