通常是用在立即调用之前。但是并不是因为他是立即调用函数,而是为了文件合并的安全。
比如你有两个文件,a.js 和 b.js,里面都是一个立即调用函数:
1
2
|
// a.js
(
function
() {} )()
|
1
2
|
// b.js
(
function
() {} )()
|
如果你在构建过程中把两个文件压缩之后连接到一起,就变成了
1
|
(
function
() {} )()(
function
() {} )()
|
这样就出了问题,所以为了避免这个问题,你可以在 b.js 最前面加一个分号。
1
|
(
function
() {} )();(
function
() {} )()
|
很多第三方 JS 库需要考虑各种被使用的情况,所以前面可能会写个分号。