Комбинируя назначение с запятой (что, вероятно, не следует делать), как javascript определяет, какое значение назначено? Рассмотрим эти два фрагмента:
function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl(i+=1, i+=1, i+=1, i+=1);
nl(i);
И
function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl((i+=1, i+=1, i+=1, i+=1));
nl(i);
Первые выходы
1
4
в то время как второй выводит
4
4
Что здесь делают скобки?