No. In both cases they are the same.
What happens when you end your function in parentheses is what happens from the declaration of the function to the expression of the function, which can be called immediately.
If you call it in parentheses or after that it doesn't matter. A "conflict" has occurred, and you can cause it.
And actually you can do it
FOO.Bar = function () {
return 123;
}();
, Bar FOO.