Llamada de función anónima de JavaScript [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Qué hace el signo de exclamación antes de la función? 10 respuestas

Estaba leyendo fuentes de JS de Twitter, en mi camino para mejorar mi base de conocimiento de JS, cuando me encontré con la extraña forma de llamar a la función anónima:

!function( $ ) {
    ...
}( window.jQuery );

... y esto funciona! :)

Es obvio para todos, que esto:

function ( $ ) { ... } ( window.jQuery )

no funciona (error de sintaxis), mientras que este es correcto:

(function ( $ ) { .... })( window.jQuery )

¿Alguien puede explicar esta magia? (¿Por qué caso con!function trabajos)

Respuestas a la pregunta(8)

Su respuesta a la pregunta