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