为什么console.log说未定义,然后说正确的值?

bqf10yzr  于 2021-09-23  发布在  Java
关注(0)|答案(5)|浏览(363)

此问题已在此处找到答案

chrome/firefox console.log总是附加一行“未定义”(7个答案)
7年前关闭。

console.log("hi") gives 
undefined
hi

console.log(1+1) gives 
undefined
2

无论是字符串还是整数计算,我都得到了未定义的正确答案。
为什么我会收到未定义的消息?有什么好办法可以避免吗?

dwbf0jvd

dwbf0jvd1#

控制台将打印计算表达式的结果。评价结果 console.log()undefined 自从 console.log 不显式返回某些内容。它的副作用是打印到控制台。
您可以通过许多表达式观察到相同的行为:

> var x = 1;
undefined;

变量声明不会产生值,因此再次 undefined 打印到控制台上。
作为反例,包含数学运算符的表达式确实会生成一个值,该值会打印到控制台,而不是 undefined :

> 2 + 2;
4
vdzxcuhz

vdzxcuhz2#

这个 undefined 是的返回值 console.log() . 这是chrome的js控制台的标准行为

emeijp43

emeijp433#

控制台显示输入的返回值。console.log()不返回任何内容,因此未定义。
您可以直接在控制台中键入以获得结果。

c90pui9n

c90pui9n4#

这是因为 console.log() 不返回值(即返回未定义的值)。您在控制台中输入的任何内容的结果都将首先打印到控制台,然后稍后从 console.log 到达控制台并进行打印。
如果浏览器未显示未定义的,则表示它注意到控制台输入仅打印到控制台,因此跳过显示结果。

qv7cva1a

qv7cva1a5#

它返回 console.log(...) .
定义两个这样的函数,您将看到原因。

function functionA() {
  return 1; 
}
function functionB() {
  return;
}

这个 functionB() 返回未定义的。

相关问题