私はいくつかのライブラリーでこの構文を見てきましたが、その利点は何なのかと思っています。(私はクロージャとコードが何をしているかをよく知っていることに注意してください、私は構文上の違いのみを気にしています)
!function(){
// do stuff
}();
より一般的なの代わりに
(function(){
// do stuff
})();
匿名関数を呼び出すため。
いくつか疑問があります。まず、トップの例が実際に機能するのを許可しているものは何ですか?このステートメントを構文的に正しくするために、なぜ強打が必要なのですか?私はそれも+うまくいくと言われています、そして代わりにいくつかの他のものと確信しています!
次に、メリットは何ですか?私が知ることができるのは、それが単一のキャラクターを救うということですが、それが多くのアダプターを引き付けるのにこんなに大きな利点であるとは想像できません。他に不足しているメリットはありますか?
私が見ることができる他の唯一の違いは、自己呼び出し関数の戻り値ですが、これらの例の両方で、クロージャーを作成するためにのみ使用されているため、関数の戻り値については特に気にしません。では、最初の構文を使用する理由を誰かに教えてもらえますか?
!それが実行されていることを強調しているので、私はが好きです。