Что значит оборачивание функции в скобки (function() { ... })?
Для вызова самой себя разумеется скажете вы, что то в этом духе (function() { ... })()
но тогда пустые скобки () должны пытаться вызвать undefined как функцию. Но такого не происходит и вообще пустые скобки это ситаксическая ошибка
иными словами почему наличие функции в скобках как то интерпретируется а отсутствие функции в скобках вообще ошибка