传统的编程语言中分号是不可省略的,但在看JavaScript代码时,新手常常会发现很多知名的大牛们都省略了分号,为什么会这样呢?其实是因为JavaScript的自动插入分号技术,大多数情况下分号是可以省略的,下面说说自动插入分号的规则。
规则一:JavaScript仅在“}”后、一行结束时以及一段程序结束处自动添加分号
如下面一组代码:
function right(x) { x++; return x } function wrong(x) {x++ return x}
规则二:JavaScript仅在下一行第一个字符无法解析时自动添加分号
若第二行为(、[、+、-或/开头时,JavaScript不会自动添加分号,如
a=b (f(n))
就相当于
a=b(f(n))
这一点在多个JavaScript文件合并时尤为要注意,假设两个主体为立即执行函数的JavaScript文件合并:
(function() { ... })() ;(function() { ... })()
这种情况下分号不能省略,原理同上,但一般自动化工具会在此处添加分号。
规则三:for循环及空循环体的while不能省略分号
如 while(true);
最后我想说的是分号的省略与否完全是个人的编码风格,所以JS初学者不必死钻牛角尖,弄清楚原理才是最重要的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。