js中,为什么自执行函数前面会有一个分号

相信第一次看见下面的这写法的肯定有点奇怪是把

;(function(){
	console.log(11);
})();

那这个分号有啥子用呢
那就举一个例子来说吧 没有什么比实践更有 说服力了

function a(){
	console.log(22);
}
a()(function(){  // a() 和自执行函数之间没有分号
	console.log(11);
})();

然后就爆出了 下面的错误
在这里插入图片描述
然后我们把分号加上 他就可以正常工作了
其实这个分号就是为了预防这种情况的出现
因为 正常书写的代码 是不可能出现上面的那中情况的 但是 我们写完代码之后要进行代码压缩 就要整合到一行代码上面 就出现那样的问题 所以为了预防 我们需要在自执行前面加上一个 分号。 当初菜鸟博主 学习js的时候就有点疑问 后来在工作中就知道怎么回事了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章