为什么第一个console.log无法打印?

时间:2018-06-22 07:33:44

标签: javascript function console.log

编辑:对不起。 !==是一个错字。我直到发布后才抓到它。原谅我浪费你的时间。

我是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没关系。找到了

2 个答案:

答案 0 :(得分:1)

如果此记录Format came into logger as: undefined . Converting...被记录,则( typeof format !== 'undefined')检查将不通过,并且您在该块中进行的日志调用将永远不会记录任何内容。

您的错误对于您尝试在此处实现的目标更合乎逻辑,因此,如果您更好地描述自己的意图,我们可能会更有帮助

答案 1 :(得分:1)

第一个console.log不会显示,因为您作为format参数传递的值是未定义的,因此它没有传递要求它的if语句,不是< / strong>未定义。