一定要使用分号的情况

分号不只是语句结尾使用,在某些语法中,具有分隔表达式或语句的作用:

  • for 中的表达式之间:
1
for(var i=0;i<10;i++)
  • 同一行使用多个表达式:
1
2
3
4
5
// example 1
var i=0; i++

// example 2
case 'foo': dosomething(); break
  • [ ( 开头的行,这是一种特殊的风格,用来防止解析器或者压缩工具误认为某行和上面几行在一起解析,造成代码执行结果错误,还有 IIFE(立即执行函数表达式)这种情况 :
1
2
3
4
5
6
7
// example 1
;(x||y).doSomething()
;[a,b,c].forEach(doSomething)

// example 2
var x = 2
;(function(){})()