What is the difference between these two self invoking functions? The function does not work if the ! (not) symbol is added.
Please clarify if any one has clear understanding.
// first
(function( $ ) {
   // ...
})( jQuery );
// second
!function($){
    alert("test1");
}(jQuery), function(){
   alert("test2");
}(jQuery);
 
    