! function () {} () vs (function () {}) ()
При просмотре некоторого кода, написанного в JavaScript Bootstrap Javascript, похоже, что они вызывают немедленно вызванные анонимные функции, подобные этой:
!function( $ ) {
...
}(window.jQuery || window.ender);
Там, где я традиционно видел то же самое, достигнутое так:
(function($) {
...
})(window.jQuery || window.ender);
Первый способ кажется немного хакерским, и я не уверен, есть ли какая-то польза или причина для этого, а не второй?Обратите внимание, что я понимаю, как это работает, я хочу понять, почему они выбрали именно этот способ.