Присваивает одно и то же значение переменной и свойству bi
объекта bar
одновременно.
Таким образом, свойство объекта получает значение, но вы все равно можете ссылаться на него какпеременная, которая, вероятно, немного быстрее.
Эффективно так же, как ...
bar.bi = function() {...};
var foo = bar.bi;
foo === bar.bi; // true
Или вы можете визуализировать это как ...
var foo = ( bar.bi = function() {...} );
Итак, присвоение bar.bi
происходит первым.Результат, возвращаемый из выражения присваивания, является той же функцией, и этот результат присваивается foo
.