Si tratta principalmente di preferenze e gusti personali e dello stile di codifica che stai utilizzando ( NPM , jQuery , Idiomatic.js , ecc.), poiché ci sono argomenti validi sia a favore che contro più istruzioni var.
Oleg citato commentando. Se si utilizza una singola istruzione, i commenti suddivideranno il codice in un modo che potrebbe ridurre la leggibilità. Il rientro dei commenti può sembrare strano (non allineato) a seconda di come indentate, ma potete sempre fare qualcosa del genere:
var
/** This variable does this */
variableOne = 1,
/** This variable does that. */
variableTwo = 2
Oleg cita anche commenti JSDoc, che potrebbero rompere ulteriormente le cose:
var
/**
* This variable does this.
*
* @private
*/
variableOne = 1,
/**
* Object containing preferences for X. Access by calling
* the public API method Y or whatnot.
*
* @private
* @example
* . . .
*
* @property {Object} preferences A can of fresh preferences
* @property {Boolean} preferences.optionA Enable something
* @property {Boolean} preferences.optionB Disable something
* @property {String} preferences.optionC Name something
*/
preferences = applyPreferencesToDefaults(userPreferences, {
optionA: false,
optionB: true,
optionC: 'Hello'
})
Un altro argomento per l'utilizzo di più affermazioni è che è leggermente più facile spostarle, e c'è meno rischio di problemi relativi a virgola o punto e virgola (come uscire casualmente quando si sposta una linea).
NPM sostiene lo stile virgola prima (e senza punto e virgola) per evitare tali problemi (che incidentalmente allinea anche ordinatamente le dichiarazioni, se si utilizzano due spazi):
var variableOne = 'one'
, variableTwo = 'two'
, variableThree = 'three'
Gli argomenti per l'utilizzo di una singola istruzione var includono: sembra migliore / più semplice / più pulito; è meno digitante, è come funziona il javascript JavaScript; ti costringe a dichiarare in alto; Crockford dice che sei un idiota se non lo fai; è una religione e / o un culto più supponente di quello di Satana.
Alla fine, l'argomento più importante funziona altrettanto bene per entrambe le parti: consistenza .
Se usi uno stile coerente, che dovresti, non importa se c'è una var
su ogni riga o una virgola a sinistra. È importante non fare religioso su queste cose. Inoltre, un minificatore decente manipolerà il codice proprio per lo stesso one-liner in ogni modo.
I personalmente preferisco le istruzioni multiple var semplicemente perché mi piace commentare con precisione le mie variabili, ma sto perfettamente bene con entrambi i modi.
Ora, se tutti potessimo essere d'accordo sul fatto che entrambi gli stili funzionano e che la coerenza è molto più importante della scelta effettiva, che mondo meraviglioso sarebbe. Diamine, non può essere divertente accenderlo una volta ogni tanto?
Questo post di Ben Alman esamina tutto in dettaglio, con altri esempi I commenti sono, ovviamente, anche molto interessanti.
Aggiornamento
Ho appena letto qualcos'altro di interessante, di Isaac di NPM:
Two var statements gzip better than a single var with a comma.
È da un commento a questo Gist , in cui Isaac spiega perché sceglie la virgola prima per NPM. I commenti sono molto interessanti.