Sie möchten sich auf Kommas verlassen, denn wenn Sie sich auf das Konstrukt mit mehreren Zuweisungen verlassen, schießen Sie sich an der einen oder anderen Stelle in den Fuß.
Ein Beispiel wäre:
>>> var a = b = c = [];
>>> c.push(1)
[1]
>>> a
[1]
Sie beziehen sich alle auf dasselbe Objekt im Speicher. Sie sind nicht "eindeutig", da jedes Mal, wenn Sie auf ein Objekt (Array, Objektliteral, Funktion) verweisen, es als Referenz und nicht als Wert übergeben wird. Wenn Sie also nur eine dieser Variablen ändern und möchten, dass sie individuell agieren, erhalten Sie nicht das, was Sie möchten, da es sich nicht um einzelne Objekte handelt.
Die Mehrfachzuweisung hat auch den Nachteil, dass die sekundären Variablen global werden und Sie nicht in den globalen Namespace gelangen möchten.
(function() { var a = global = 5 })();
alert(window.global) // 5
Verwenden Sie am besten nur Kommas und vorzugsweise viele Leerzeichen, damit es lesbar ist:
var a = 5
, b = 2
, c = 3
, d = {}
, e = [];
var $cls = my.namespace.Foo = function(args){ ... }