2013-04-23 9 views
10

Mentre lavoravo con Jquery minisito, ho notato più istruzioni concatenate da virgole.Concatenazione di più istruzioni utilizzando Commas vs Semi-due

Per esempio

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

minified a:

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

Ho visto una domanda simile: JavaScript variable definition: Commas vs. Semicolons

Ma in questo caso, ovviamente, non v'è alcun miglioramento delle prestazioni o la riduzione di caratteri .

Potrei presumere che fosse solo una questione di scelta per lo script minification di farlo?

Non sarebbe stato più sicuro andare con il punto e virgola in primo luogo ... e prevenire il sovraccarico della logica che evitava la concatenazione di virgole in caso di dichiarazione di ritorno.

risposta

23

I minificatori tendono a privilegiare le virgole quando possibile perché consentono di ridurre il numero di corpi di istruzioni if. Ad esempio:

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

Quanto sopra può essere minified utilizza una virgola per rimuovere le parentesi (poiché sono facoltative se il corpo if affermazione è solo una singola istruzione):

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

In casi come questo porta a un codice più breve, che è quello a cui mirano i minificatori.

Problemi correlati