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);