js中,爲什麼自執行函數前面會有一個分號

相信第一次看見下面的這寫法的肯定有點奇怪是把

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

那這個分號有啥子用呢
那就舉一個例子來說吧 沒有什麼比實踐更有 說服力了

function a(){
	console.log(22);
}
a()(function(){  // a() 和自執行函數之間沒有分號
	console.log(11);
})();

然後就爆出了 下面的錯誤
在這裏插入圖片描述
然後我們把分號加上 他就可以正常工作了
其實這個分號就是爲了預防這種情況的出現
因爲 正常書寫的代碼 是不可能出現上面的那中情況的 但是 我們寫完代碼之後要進行代碼壓縮 就要整合到一行代碼上面 就出現那樣的問題 所以爲了預防 我們需要在自執行前面加上一個 分號。 當初菜鳥博主 學習js的時候就有點疑問 後來在工作中就知道怎麼回事了

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