Q:

Две функции в самовызывающейся функции

Такой вопрос 
var bred = (function a() {
  return 1
}, function b() {
  return 2
})();

При вызове будет 2. Почему?

A:

Потому что оператор запятая возвращает последний операнд.
Всё равно что

var bred = (1, 2);
console.log(bred);

