JavaScript 的分号是可省略的,因为 JavaScript 会自动填补分号,但只有在 JavaScript 遇到因为省略分号而无法解析的语句时,才会自动填补分号。
例如:
var aa=3console.log(a); // 3
有两种情况例外:
- break、return、continue 后接换行号会填补分号。
- ++ 和 -- 前有换行号时,前面的语句会填补分号。
例如:
function foo1() { return { bar: 0 };}function foo2() { return { bar: 0 };}foo1() // { bar: 0 }foo2() // undefined
var x=2,y=1;x++yconsole.log(x); // 2console.log(y); // 2
建议加分号的原因:
- 避免代码执行效果不如意。
- 避免代码压缩有错误。
- 可以提高性能,因为解析器不用花时间去推测哪里应该加分号。
参考: