2013-04-23 53 views
10

使用縮小的JQuery時,我注意到多個語句連接在一起的逗號。使用逗號連接多個語句與半冒號

對於實例

event.preventDefault(); 
event.stopPropagation(); 
jQuery.event.trigger(event, data, this[0]); 
return event.result; 

精縮到:

c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result 

我確實看到了類似的問題:JavaScript variable definition: Commas vs. Semicolons

但是在這種情況下,顯然沒有性能優勢或減少字符。

我可以認爲這只是縮小腳本的選擇問題嗎?

首先使用分號不會更安全嗎?並避免在return語句的情況下避免使用逗號連接的邏輯開銷。

回答

23

Minifiers傾向於在可能的情況下使用逗號,因爲它允許縮短聲明主體之類的東西,例如if。例如:

if (x) { 
    y = 10; 
    z = 20; 
} 

以上可以使用逗號以除去大括號(因爲它們是可選的,如果if語句體僅有單個語句)被精縮:

if (x) y = 10, z = 20; 

在類似情況下這確實會導致更短的代碼,這是縮小器瞄準的目標。