node.js在控制台上显示“undefined”
最近我在Windows 7机器上安装了node.js。
在JavaScript的执行过程中,我得到了一个未定义的消息,并成功执行了expression式。
这里有什么问题? 我没有注意到任何其他的副作用。
只要写"hello world";
并回车……它将返回"hello world"
而不是undefined
,因此不显示undefined
。 console.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
不返回任何东西。