Этот шаблон называется IIFE - Immediately Invoked Function Expression (немедленно вызываемое функциональное выражение). Этот подход позволяет:
- обеспечить коду собственный блок видимости, то-есть контекст выполнения
- избежать загрязнения глобальной области видимости глобальными переменными
- избежать неумышленного переопределения уже существующих переменных в глобальной области видимости