Your syntax is incorrect. Edit: fixed.
Look at a normal function definition that you want to call once and only once:
function add(x,y) {
var z = x + y;
// do something with z
}
add(2,3);
You could reduce this code so that you execute it straight away, there is no need to name it add:
(function(x ,y) {
var z = x + y;
// do something with z
})(2,3)
Note how we have surrounded the function with a set of parenthesis to make it a callable expression. This pattern is often used to create a closure (capture the state of) certain variables, for example:
jQuery.noConflict(); //Disables the use of $ in the global scope
(function($) {
//Safely use $ inside this function
$( .link ).click(function(e) {
//etc
});
})(jQuery);