编辑:对不起。 !==是一个错字。我直到发布后才抓到它。原谅我浪费你的时间。
我是Java的新手。
我创建了此功能(使用Winston):
function setlogger (log_level = "warn", logfile, screendump, format) { // defaults
console.log("Format came into logger as: ", String(format), ". Converting..."); //777
if ( typeof format == 'undefined') {
format = format.combine(
format.colorize(),
format.timestamp(),
format.align(),
format.printf(formatParams)
);
console.log("Format is now:(1) ", String(format), ". "); //777
}
console.log("Format is now: (2)", String(format), ". "); //777
当我调用它时,会显示(2)
console.log()
,但不会显示(1)
。
Format came into logger as: undefined . Converting...
Format is now: (2) undefined .
这是为什么?
编辑:UPS没关系。找到了
答案 0 :(得分:1)
如果此记录Format came into logger as: undefined . Converting...
被记录,则( typeof format !== 'undefined')
检查将不通过,并且您在该块中进行的日志调用将永远不会记录任何内容。
您的错误对于您尝试在此处实现的目标更合乎逻辑,因此,如果您更好地描述自己的意图,我们可能会更有帮助
答案 1 :(得分:1)
第一个console.log
不会显示,因为您作为format
参数传递的值是未定义的,因此它没有传递要求它的if
语句,不是< / strong>未定义。