为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只名叫tom的猫 2021-05-14 15:15:30
在节点解释器中:> 1+34> var name=12undefined> console.log(typeof name)numberundefined是什么undefined在输出是什么意思?为什么不1 + 3输出undefined,而其他两个却不输出呢?
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

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


查看完整回答
反对 回复 2021-05-27
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您正在使用节点REPL(moreinfo)


REPL代表Read-Eval-Print-Loop。顾名思义,它将读取您输入的内容,对其进行评估(运行),将结果打印并重复。打印部分将打印您返回的任何代码。所以它正在做的事情是这样的:


console.log(eval({your expression here}))

因此,适用于您的案例,我们有:


console.log(1+3) // 4

console.log(var name=12) // undefined because an attribution doesn't return anything

console.log(console.log(typeof name)) // first the inner console.log will print the type of name (number) and then the outer console.log will print undefied (the return of the inner console.log).

希望这样更清晰。


查看完整回答
反对 回复 2021-05-27
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信