создаёт функцию, принимающую три аргумента, возвращает её и отдаёт на исполнение, передавая три аргумента их двух. 
данный код эквивалентен этому :
(function(window,document, undefined){})(window, document);
// ====>
function func(window, document, undefined){  };
func(window, document);
в функции первый аргумент равен window, второй - document, третий - типу undefined.
делается это для замыкания и для укорачивания имён window,document,undefined при сжатии скрипта.