javascript為什麼語句開頭就有一個分號

antzone發表於2017-04-08

不少朋友可能見過這樣的情況,那就是再一段完整的javascript程式碼的開頭就有一個分號。

貌似這個分號是完全多餘的,其實並不是這樣的,這樣寫的目的是為了防止程式碼壓縮時候報錯。

看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
//程式碼一
var Manager={
  prop:'',
  method:function(){
    //code
  }
}
 
//程式碼二
(function () {
  //code
})()

程式碼壓縮之後,第一個程式碼和第二個程式碼相鄰的地方變成:

[JavaScript] 純文字檢視 複製程式碼
//省略}}(function//省略

這個地方會當做一個函式來執行,那麼就會報錯了。再比如下面這個程式碼也是一樣的原理:

[JavaScript] 純文字檢視 複製程式碼
(function () {
  //code
})()(function () {
  //code
})()

相關文章