代码之家  ›  专栏  ›  技术社区  ›  Charles Anderson

意外的“意外行尾”JavaScript lint警告

  •  2
  • Charles Anderson  · 技术社区  · 15 年前

    这是我的JavaScript(非常简单):

    function addContent() {
        var content = [];
        content.append(
            makeVal({
                value : 1
            })
        ); // Generates lint message
    }
    

    运行lint程序,我得到消息

    unexpected end of line; it is ambiguous whether these lines are part of the same statement
    

    在7号线上。如果我连接第6行和第7行,消息就会消失。

    有谁能解释一下这种模棱两可的地方吗?在我看来,第7行的括号明确地关闭了对append()的调用。

    1 回复  |  直到 15 年前
        1
  •  2
  •   T.J. Crowder    15 年前

    在我看来也是这样。听起来像是你正在使用的lint程序中的一个bug。

    你可以理解为什么会奇怪,因为 makeVal 符合依赖分号插入的代码的配置文件,除非您正确地查看更广泛的上下文并意识到它在 append 打电话来。在我看来,lint程序实际上并不是在解析语言,而是在寻找模式,它 是 意味着它会同时有假阳性和假阴性。