<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>01_分号问题</title>
</head>
<body>

<!--
1. js一条语句的后面可以不加分号
2. 是否加分号是编码风格问题, 没有应该不应该,只有你自己喜欢不喜欢
3. 在下面2种情况下不加分号会有问题
* 小括号开头的前一条语句
* 中方括号开头的前一条语句
4. 解决办法: 在行首加分号
5. 强有力的例子: vue.js库
6. 知乎热议: https://www.zhihu.com/question/20298345
7.如果下一行的第一个token是` ( , [ , / , + , - ` 这五个字符之一的话, Javascript 将不会自动在上一行句尾加上分号。
8.真正会导致上下行解析出问题的 token 有 5 个:`括号,方括号,正则开头的斜杠,加号,减号`。我还从没见过实际代码中用正则、加号、减号作为行首的情况,所以总结下来就是一句话:一行开头是 `括号或者方括号` 的时候加上分号就可以了,其他时候全部不需要。其实即使是这两种情况,在实际代码中也颇为少见。
-->
<script type="text/javascript">
var a = 3
;(function () {

})()
/*
错误理解
var a = 3(function () {

})();
*/

var b = 4
;[1, 3].forEach(function () {

})
/*
错误理解
var b = 4[3].forEach(function () {

})
*/

</script>
</body>
</html>