Console.log和debug不打印,只返回undefined。为什么可以呢? 我试过重新安装chrome浏览器,但没有用。

这里是chrome主页面的截图,所以函数没有在一些代码中重新定义


当前回答

有时候,最简单的事情也会把我们绊倒……

在控制台中输入console.log并检查返回什么函数。如果你看到的是日志(){[原生代码]},那么它是别的东西。如果你看到了conn(){},那么在某个地方本机console.log函数被改变了。

今天在一个客户的网站上工作,这就是问题所在。如果是这种情况,您可以手动恢复console.log函数,或者使用console.dir()或console.warn()代替。

如果你看到了(){},那么有可能由于你在javascript中添加了一些功能,有时控制台停止工作。所以首先关闭所有选项卡重新启动chrome和在一个新的选项卡只是键入1 console.log('hi');如果它打印出来,那么它就确认了问题存在于脚本代码中。如果不是,那么恢复cosole.log。

要恢复控制台在新选项卡去控制台和类型删除窗口。控制台它将返回true后,重新启动chrome,你就可以走了。

其他回答

如果您看到(3条消息被过滤器隐藏。显示所有消息),然后在Chrome开发工具控制台单击显示所有消息链接。

因为如果该选项被错误启用,console.log("")消息将显示,但这将处于隐藏状态。

我正在一个站点上工作,其中一些JS(或其他)代码阻止console.log工作(console.log可能被覆盖)。您可以通过检查console.log是否在不同的页面上工作来测试这一点(就像这个页面)。

我现在没有时间进一步调查,所以使用alert(“something is:”+something)从我需要运行的代码片段中获得我想要的信息。

截至今天,谷歌chrome浏览器中开发人员工具的UI已经改变,我们选择日志语句的日志级别显示在控制台。在Filter输入框旁有一个日志级别下拉框。支持的值有“详细”、“信息”、“警告”和“错误”。下拉菜单中的默认选项为“Info”。

任何日志,其严重程度等于或更高将显示在控制台选项卡,例如,如果选择的日志级别为信息,则所有具有信息,警告和错误级别的日志将显示在控制台。

当我将其更改为Verbose时,console.debug和console.log语句开始显示在控制台中。直到信息级别被选中,它们才会显示出来。

完整性:在当前的chrome版本中,设置不再在底部,但可以在控制台选项卡顶部点击“过滤器”图标(左起第二个图标)时找到。

React开发工具扩展导致问题

如果你有React开发工具chrome扩展安装,卸载它修复了我的问题。显然,这可能是一个艰难的权衡。

我从未使用过它们,所以删除它们解决了我的问题。