2014-04-02 25 views
1

我在合併大量JS代碼並通過縮小程序運行時遇到了問題,因爲沒有使用分號導致解析錯誤。我在哪裏添加JS中的分號以防止縮小錯誤?

我總是用括號,例如:

if() { 

} else { 

} 

...所以它不是因爲這一點。我也總是用分號在明顯的地方,如:

var a = "foo"; 
var b = "bar"; 

我修復需要大量分號的牙套後,如下圖所示,由於這一點,我已經變成了癡迷做這每一件JS的我寫:

function() { 

    if() { 

     for() { 

     }; 

    }; 

}; 

......但我認爲這太多了。

那麼我需要放一個分號來保證壓縮時不會出現這些錯誤?

如果我在文件中轉儲幾個jQuery腳本(未壓縮)然後壓縮它們,我尤其會遇到問題。

+3

您是否試過JSLint - JS代碼質量工具,像這樣http://www.javascriptlint.com/online_lint.php –

+4

在您的JavaScript上運行linter(如JSHint或JSLint)。它應該抱怨缺少分號和多餘的分號。 –

+2

這很奇怪;分號後不需要分號。語句後應該使用分號。唯一奇怪的邊緣情況是在'for'語句中,分號用於分隔三個「塊」,在第三個之後不能有分號。 –

回答

0

建議始終在javascript中使用分號。這是JavaScript的休息時沒有分號一個常見的例子:

var my_fn = function() { 
    //... 
} 

(function() { 
    //... 
})(); 

這會被解釋爲:

var my_fn = function() { 
    //... 
} (function() { 
    //... 
})(); 

即第一功能將與第二個作爲參數調用(期待它返回一個函數再次調用)。

我建議您使用http://www.jslint.com/來查看您的代碼。

相關問題