为什么第一个 console.log 没有打印?
Why is the first console.log not printing?
编辑:抱歉。 !== 是一个错字。直到发布后我才明白。请原谅我浪费了你的时间。
我是 Javascript 的新手。
我创建了这个函数(使用 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 没关系。找到了
如果这个 : Format came into logger as: undefined . Converting...
被记录然后这个 if ( typeof format !== 'undefined')
检查将不会通过,你在那个块中的日志调用将永远不会记录任何东西。
你的错误在你试图在这里实现的那种事情上更合乎逻辑,所以如果你更好地描述你的意图,我们可能会更有帮助
第一个 console.log
没有显示,因为您作为 format
参数传递的值未定义,所以它没有传递需要它的 if
语句 不是未定义。
编辑:抱歉。 !== 是一个错字。直到发布后我才明白。请原谅我浪费了你的时间。
我是 Javascript 的新手。
我创建了这个函数(使用 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 没关系。找到了
如果这个 : Format came into logger as: undefined . Converting...
被记录然后这个 if ( typeof format !== 'undefined')
检查将不会通过,你在那个块中的日志调用将永远不会记录任何东西。
你的错误在你试图在这里实现的那种事情上更合乎逻辑,所以如果你更好地描述你的意图,我们可能会更有帮助
第一个 console.log
没有显示,因为您作为 format
参数传递的值未定义,所以它没有传递需要它的 if
语句 不是未定义。