Я видел этот синтаксис в нескольких библиотеках сейчас, и мне интересно, в чем преимущество. (заметьте, я хорошо осведомлен о закрытии и о том, что делает код, меня беспокоят только синтаксические различия)
!function(){
// do stuff
}();
В качестве альтернативы более распространенным
(function(){
// do stuff
})();
для самостоятельного вызова анонимных функций.
Мне интересно несколько вещей. Во-первых, что позволяет на самом деле работать сверху? Почему необходим сигнал, чтобы синтаксически корректно это утверждение выглядело? Мне также говорят, что +
работает, и я уверен, что некоторые другие, вместо !
Во-вторых, какая польза? Все, что я могу сказать, это то, что он спасает одного персонажа, но я не могу представить, что такая огромная выгода привлекает многочисленных усыновителей. Есть ли какая-то другая польза, которую я не вижу?
Единственное отличие, которое я могу видеть, - это возвращаемое значение функции self-invoking, но в обоих этих примерах мы действительно не заботимся о возвращаемом значении функции, поскольку она использовала только для создания замыкания. Так может кто-то сказать мне, почему можно использовать первый синтаксис?