Значения в скобках после функции JavaScript

Я пытаюсь переопределить некоторый код Javascript, который я нашел связанным в ответе на SO. Но я хотел бы сначала лучше понять его синтаксис. Его схема такова:

(function (root, ns, factory) {
    // some code
} (window, 'detectZoom', function() {
    // some more code
}));

Смотрите принятый ответ вэта почта для ссылки на полный код.

Я понимаю, как достигается конечный результат, но я неЯ не знаю, как внутренний (...) блок относится к первому, или что разделенный запятыми список внутри него говорит компилятору.

Может кто-нибудь объяснить? Благодарю.