输出中的“未定义”是什么意思?

Tim*_*Tim 0 javascript node.js

在节点解释器中:

> 1+3
4
> var name=12
undefined
> console.log(typeof name)
number
undefined
Run Code Online (Sandbox Code Playgroud)

是什么undefined在输出是什么意思?

为什么不1 + 3输出undefined,而其他两个却不输出呢?

Jac*_*ord 5

因为1 + 3回报4。变量声明不返回任何内容,也不返回任何内容console.log。您看到的值就是undefined返回值。但是,变量分配(var hello; hello = "hello")确实返回分配的值(感谢VLAZ指出)。

  • “ *变量赋值不返回任何值,*”更正变量* declaration *(使用`var`,`let`或`const`)不返回任何值,但赋值始终返回分配的值-控制台。 log(name =“ hello”)`将输出“” hello“`并设置`name`的值。更广泛地说,这是因为声明是*语句*,而赋值是*表达式*。语句不返回值,表达式可以。 (3认同)