最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

does javascript require ';' at the end of a line of code? - Stack Overflow

programmeradmin0浏览0评论

I have seen and used javascript code that both has and omits the ';' from the end of statements. Are they required in some cases and not in others? If so can you give some examples, and if not what is the general standard, to use the ';' or to not...that..is the question??

I have seen and used javascript code that both has and omits the ';' from the end of statements. Are they required in some cases and not in others? If so can you give some examples, and if not what is the general standard, to use the ';' or to not...that..is the question??

Share Improve this question asked Aug 3, 2011 at 22:45 JoeJoe 1,3547 gold badges34 silver badges54 bronze badges 1
  • This is a duplicate of many other SO questions. – nnnnnn Commented Aug 3, 2011 at 23:52
Add a comment  | 

3 Answers 3

Reset to default 17

JavaScript uses a (generally disliked) method called Semicolon Insertion, where it will allow you to omit semicolons.

The rules for where you can and cannot insert semicolons is extensive, and covered fairly well here.

In general, do not rely on semicolon insertion. It is a poorly thought out feature and will hurt you before it helps you.

Not only should you always use semicolons, but you should also get in the habit of putting your { braces on the same line, as semicolon insertion can actually misinterpret what you meant.

For example, say I'm trying to return a javascript object from a function:

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

function g() {
    return                         // wrong!!!
    {
        "a":"b",
        "c":"d"
    }
}

If I put the { on a new line (as I did in g), the return statement will actually have a semicolon inserted after it, destroying the meaning of what you were saying.

Overall, semicolon insertion is a poor feature and you should never rely on it.

Use ; to mark the end of a statement. Javascript follows the syntactical theme set in C family languages, and ; is the delimiter for the end of a statement.

What code have you seen that omits this?

If there's no more code in the block after a line, the ; is technically optional. You should include it anyway.

Always use the semicolon, this makes the code easier to read. Right now I am not aware of any situation where it can be omitted.

发布评论

评论列表(0)

  1. 暂无评论