Этот код:
var foo = {n: 1};
var bar = foo;
foo.x = foo = {n: 2};
Не могли бы вы объяснить, что имеется в виду:
foo.x = foo = {n: 2};
Я вижу, что {n:2} присваивается foo. Почему undefined назначен foo.x? Возвращает ли foo = {n: 2}; undefined?