Javascript console.log不’;不打印任何内容,但返回未定义
我制作了一个脚本,将我在duolingo上学习的所有句子集中到一个console.log输出中。 直到最近,当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之类的函数,阻止它打印任
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()