This is an anonymous function that will run as soon as it is declared. Its parameter is myFunkyAlert
and inside the function it will be referenced as the fun
variable.
The reason we usually write a function like that is to avoid conflicts, due to scoping.
Example:
var myFunkyAlert = "The funky alert";
(function(fun) {
alert(fun);
})(myFunkyAlert);
This will result in an alert with the message "The funky alert".