Sure. We can simplify the example so that the reason is obvious:
This assigns a function to a variable:
var func=function(){
return 10;
}
This assigns the result of the function to another variable:
var value=func();
Now we'd like to call a function without having to name it, so we combine the above lines:
var value=function(){
return 10;
}();
But wait, this looks too much like defining a function - especially if the body is so long that we don't see the pair of parenthesis in the end. We want to indicate that we are calling a nameless function, so conventionally we write it like this:
var value= (function(){
return 10;
})();
Replace the part in the brackets with "func", and you'll see what I mean.