最近我在我的Windows 7电脑上安装了node.js。
执行JavaScript时,我会得到一个undefined消息,同时表达式也成功执行了。
这里有什么问题?我没有注意到任何其他副作用。
最近我在我的Windows 7电脑上安装了node.js。
执行JavaScript时,我会得到一个undefined消息,同时表达式也成功执行了。
这里有什么问题?我没有注意到任何其他副作用。
JavaScript函数总是会返回某些东西。如果您在函数中没有指定要返回的内容,则默认情况下返回'undefined'(您也可以在Firebug中检查此内容)。
不过,不用担心,这不会影响任何事情,您可以忽略它。
只需写下"hello world";
并按回车键...它将返回"hello world"
而不是undefined
,因此没有显示undefined
。 console.log
返回undefined
,同时将参数记录到控制台,因此您会得到多条消息。
undefined
。 - Esailija正如其他人指出的那样,如果您没有指定任何返回值,JavaScript函数将始终返回undefined。您可以忽略它。这不会造成任何伤害。 但是,如果它让你太烦恼,那么您可以在repl中关闭它。repl具有此属性ignoreUndefined,默认设置为false。您可以将其设置为true。 尝试一下:
module.exports.repl.ignoreUndefined = true;
嗯,这个问题是几年前提出的,但仍然有另一种方法来解释这里发生了什么。
尝试下一个命令:
console.log("Hello World") || "Bye World";
console.log()
通常返回undefined
,您可以选择更好的返回值。由于非严格(抽象)比较将undefined
视为等于false
,因此||
运算符允许您进行选择。node
同样会输出 undefined
,因为通常情况下,它会显示每个命令的返回值,而console.log
没有返回任何内容。
ignoreUndefined
,可以使用以下代码模拟 AvinashB 的回答,无需手动输入到控制台:process.stdin.emit('data', "module.exports.repl.ignoreUndefined = true;\n");
这是因为console.log具有(null/undefined)返回类型,为了解决这个问题...需要编写一个返回字符串的函数...然后记录该函数返回的值...这将克服undefined问题...
const addNotes= function(msg)
{
return msg;
}
console.log(addNotes('say hello'));
别管它,完全不用担心。我也遇到过同样的问题,当我调用没有返回类型的函数时,Node会打印出被调用函数的未定义返回类型。
function emitEvent(eventname){
eventEmitter.emit(SIV_EVENT);
}
console.log(emitEvent());
app.use(express.json())