代码之家  ›  专栏  ›  技术社区  ›  RightmireM

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

  •  -2
  • RightmireM  · 技术社区  · 6 年前

    编辑:对不起。这个!==是个打字错误。我直到发帖后才明白。原谅我浪费你的时间。

    我是javascript新手。

    我创建了这个函数(使用温斯顿):

        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 Nevermind。找到它

    2 回复  |  直到 6 年前
        1
  •  1
  •   MKougiouris    6 年前

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

    你的错误在你试图达到的目标上更符合逻辑,所以如果你能更好地描述你的意图,我们可能会更有帮助。

        2
  •  1
  •   Pal Kerecsenyi    6 年前

    第一 console.log 不显示,因为您作为 format 参数未定义,因此未通过 if 需要它的陈述 未定义。