即使函数具有返回值,Nodejs也会在控制台上显示undefined

lbo*_*yel 2 javascript node.js

我只是在玩节点,我注意到即使我为我的函数节点指定返回值仍然返回undefined.

截图

这里有什么不对?阅读上一篇与我的问题相关的帖子,我的印象是,如果指定一个返回类型节点,则不应显示undefined

Dav*_*nco 5

它不会返回undefined,它显然会返回5.函数声明返回undefined(主要是因为(a)如何eval()工作和(b)因为没有返回值的函数在技术上undefined按标准返回),但是当你调用函数本身时,例如x(),你得到了一个5.

您会注意到全局范围中的变量声明,例如var test = 1,也将立即undefined在控制台中返回一个.这并不意味着test现在就是这样undefined.