console.log("hi") gives
undefined
hi
console.log(1+1) gives
undefined
2
无论是字符串还是整数计算,我都会得到 undefined 然后是正确答案。
为什么我会收到未定义的消息?有什么好的方法可以避免吗?
console.log("hi") gives
undefined
hi
console.log(1+1) gives
undefined
2
无论是字符串还是整数计算,我都会得到 undefined 然后是正确答案。
为什么我会收到未定义的消息?有什么好的方法可以避免吗?
控制台将打印计算表达式的结果。评估的结果console.log()
是undefined
因为console.log
没有明确返回一些东西。它具有打印到控制台的副作用。
您可以使用许多表达式观察相同的行为:
> var x = 1;
undefined;
变量声明不会产生值,因此会再次undefined
打印到控制台。
作为一个反例,包含数学运算符的表达式确实会产生一个打印到控制台的值,而不是undefined
:
> 2 + 2;
4
该undefined
是的返回值console.log()
。这是 Chrome 的 JS 控制台的标准行为
控制台显示您输入的返回值。 console.log()不返回任何内容,因此未定义。
您可以直接在控制台中键入以获取结果。
这是因为console.log()
不返回值(即返回未定义)。您输入到控制台的任何结果首先打印到控制台,然后稍后来自console.log
控制台的消息也被打印出来。
如果浏览器没有显示 undefined,则意味着它已经注意到您的控制台输入仅打印到控制台,因此会跳过显示结果。
它返回 的值console.log(...)
。
像这样定义两个函数,你就会明白为什么。
function functionA() {
return 1;
}
function functionB() {
return;
}
在functionB()
返回undefined。