node.js在控制台上显示“undefined”

最近我在Windows 7机器上安装了node.js。

在JavaScript的执行过程中,我得到了一个未定义的消息,并成功执行了expression式。

这里有什么问题? 我没有注意到任何其他的副作用。

在这里输入图像说明

只要写"hello world"; 并回车……它将返回"hello world"而不是undefined ,因此不显示undefinedconsole.log返回undefined并将参数logging到控制台,以便获得多个消息。

JavaScript函数总是返回一些东西。 如果你没有在函数中指定要返回的东西,默认情况下会返回'undefined'(你也可以在Firebug中查看)。

不要担心,这不影响任何事情,你可以忽略它。

正如其他人所指出的那样,如果不指定任何返回值,javascript函数将始终返回undefined。 你可以忽略它。 这不会造成任何伤害。 但如果太烦人,那么你可以把它closures在repl。 Repl具有此属性ignoreUndefined ,默认情况下它被设置为false。 您可以将其设置为true。 尝试这个:

 module.exports.repl.ignoreUndefined = true; 

那么这个问题是在几年前提出的,但是还有另一种解释这里发生的事情的方法。

尝试下一个命令:

 console.log("Hello World") || "Bye World"; 

正如所提到的函数console.log()通常返回undefined ,你可以select一个更好的返回值。 由于非严格(抽象)比较认为undefined等于false || 运营商允许你select。

考虑到它只是一个debugging工具,这在一般情况下是不必要的,但有助于理解控制台显示发送到标准输出的文本,同时也会显示返回的值,如果未收到任何值,则显示返回的值。

如果您需要打开模块内部的ignoreUndefined ,则可以使用以下行来模拟AvinashB的答案,而无需亲自input控制台:

 process.stdin.emit('data', "module.exports.repl.ignoreUndefined = true;\n"); 

node也打印undefined因为通用 ,它显示每个命令的返回值和console.log不返回任何东西。