Вызов анонимной функции Javascript [дубликат]

На этот вопрос уже есть ответ здесь:

Что делает восклицательный знак перед функцией? 10 ответов

Я читал источники JS из Twitter - на пути к улучшению своей базы знаний JS, когда я наткнулся на странный способ вызова анонимной функции:

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

... и это работает! :)

Для всех очевидно, что это:

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

не работает (синтаксическая ошибка), хотя этот правильный:

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

Может кто-нибудь, пожалуйста, объясните эту магию (почему случай с!function работает)?

Ответы на вопрос(4)

Ваш ответ на вопрос