Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript console.log不’;不打印任何内容,但返回未定义_Javascript_Console.log - Fatal编程技术网

Javascript console.log不’;不打印任何内容,但返回未定义

Javascript console.log不’;不打印任何内容,但返回未定义,javascript,console.log,Javascript,Console.log,我制作了一个脚本,将我在duolingo上学习的所有句子集中到一个console.log输出中。 直到最近,当console.log开始以一种奇怪的方式运行时,它才工作得很好 : console.log("Hello\tWorld") undefined 我在console.log中键入的任何内容都不会被打印出来 console.log(document) undefined 这只发生在这一页上 : (您需要登录) 这是一件事吗?要在页面上阻止console.log之类的函数,阻止它打印任

我制作了一个脚本,将我在duolingo上学习的所有句子集中到一个console.log输出中。 直到最近,当console.log开始以一种奇怪的方式运行时,它才工作得很好 :

console.log("Hello\tWorld")
undefined
我在console.log中键入的任何内容都不会被打印出来

console.log(document)
undefined
这只发生在这一页上 : (您需要登录)

这是一件事吗?要在页面上阻止console.log之类的函数,阻止它打印任何结果


尽管如此,有没有办法在控制台中打印某些内容?

没有
console.log()
是一个
void
-返回函数,意味着它不返回任何值()

因此,当您在Chrome的控制台中运行该函数时,字符串(即
Hello\tWorld
)被正确地记录到控制台,但Chrome也会报告函数的返回值,该值未定义,因为
Console.log()
不返回任何内容

您可以在下面的屏幕截图中看到,Chrome正在正确地将
Hello Word
记录到控制台,然后返回
undefined

“undefined”只不过是您调用的函数的返回。 它打印字符串,但由于它不返回任何内容,因此控制台闪烁未定义

试一试

现在,当您调用abc()时
它将显示2(未定义)

我在Chrome中遇到了相同的问题。然后我注意到,在Filter旁边,就在console提示符上方,它说“全部隐藏”,这会抑制console.log()打印的消息。我把它改为“默认”,问题就消失了。这与返回类型无关,如上所述,返回类型为void。它只是对输出进行Chrome过滤。

我使用了
console.info
而不是
console.log


后者仍然不会在该特定页面上返回任何内容。

如果在控制台中键入
console
,您将看到如下内容:

log: ƒ ()
    ...
    [[FunctionLocation]]: app-676b15de.js:formatted:54288
表示console.log()函数正被
app-676b15de.js
覆盖。如果查看该文件,您将看到以下内容:

window.console && fY.forEach(function(e) {
    var t = console[e];
    console[e] = function() {
        for (var e = [], n = 0; n < arguments.length; n++)
            e[n] = arguments[n];
        (k() || window.verbose) && Function.prototype.apply.apply(t, [console, e])
    }
})
仅供参考,截至本文发布时,Duolingo页面已覆盖:

console.log()
console.error()
但不是:

console.info()
console.warn()

因此,您也可以使用后两个功能中的任何一个来代替前两个功能,而无需进行任何其他修改。

尝试恢复默认设置并重新加载控制台#文档将重新出现在控制台窗口的第一行中,您已全部设置完毕


“恢复默认值并重新加载”选项卡底部的设置>首选项>按钮。

无法复制。您是直接将其输入控制台,还是从代码触发
console.log
,并将
undefined
记录到控制台?您需要了解
console.log()
的功能与其返回值无关。实际上,在任何情况下都是这样的。不要混淆。我认为duolingo禁用了
console.log()
,比如
console.log=function(){}
。这将加快代码的速度,因为它不再记录日志。当代码中有许多
console.log
语句时,您不想将它们全部删除,因此禁用
console.log
会更快。我认为duolingo有这个问题…函数的返回值是“未定义”还是没有返回任何东西?不能是bothNo,它是一个
void
-返回函数,意思是它不返回任何东西(因此返回是
undefined
-这与
null
不同)。@Albizia在JS中没有区别,至少从调用方的角度来看是这样的。嗨,欢迎使用堆栈溢出。!你还应该添加一些屏幕截图,让你的答案更具影响力。干杯
console.log()
console.error()
console.info()
console.warn()