Это автоматически запускаемое замыкание.
Передать параметры в JavaScript функцию можно используя конструкцию (функция)(параметры), например:
(alert)([32,31]);
Если вместо alert мы напишем анонимную функцию, то она тоже запустится. Причем сразу, как только будет объявлена. Вообще можно запустить объявленную анонимную функцию с параметрами, вот так:
var my = function() {
alert('hi!');
// Вызываем функцию без параметров
}();
Но если написать просто
function() {...}();, без присваивания какой-нибудь переменной (
var my, напр.) - будет синтаксическая ошибка.
Поэтому используют скобки:
(function() { ... })();
Про замыкания вообще и для чего они нужны читайте в
этой статье.