javascript是否需要';' 在一行代码的末尾?

Joe*_*Joe 6 javascript

我已经看到并使用了javascript代码,它们都有和省略';' 从陈述结束.它们在某些情况下是否需要而在其他情况下不需要 如果是这样,你可以提供一些例子,如果不是通用标准,那么使用';' 还是不......那个问题是什么?

riw*_*alk 12

JavaScript使用一种称为Semicolon Insertion的(通常不喜欢的)方法,它允许您省略分号.

您可以和不可以插入分号的规则是广泛的,并且在此处涵盖得相当好.

一般来说,不要依赖分号插入.这是一个经过深思熟虑的功能,在它帮助你之前会伤到你.

你不仅应该总是使用分号,而且还应该养成将{括号放在同一行上的习惯,因为分号插入实际上可能会误解你的意思.

例如,假设我正在尝试从函数返回一个javascript对象:

function f() {
    return { "a":"b", "c":"d" }    // works fine
}

function g() {
    return                         // wrong!!!
    {
        "a":"b",
        "c":"d"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我把它{放在一个新行上(就像我所做的那样g),return语句实际上会在它后面插入一个分号,破坏你所说的含义.

总的来说,分号插入是一个很差的功能,你永远不应该依赖它.