間に違いはありますか
(function (){alert('')} ())
対
(function (){alert('')}) ()
どちらも機能しますが、いつそれぞれを使用する必要がありますか?
間に違いはありますか
(function (){alert('')} ())
対
(function (){alert('')}) ()
どちらも機能しますが、いつそれぞれを使用する必要がありますか?
ラップ括弧は、構文を関数宣言ではなく関数式として解析するようにパーサーに強制するためだけに存在します。関数宣言を呼び出すことは違法ですが、関数式を呼び出すことは合法であるため、これが必要です。
そのためには、呼び出し括弧がどこにあるかは問題ではありません。また、関数を強制的に式として解析する方法も問題ではありません。以下も同様に機能します。
!function () {
alert('')
}();
~function () {
alert('')
}();
// Any unary operator will work
折り返し括弧 (グループ化演算子) を使用する場合は、呼び出し括弧を 内に移動するように JSLint が指示することに注意してください。これは単にスタイル上の選択であり、必要に応じて無視できます。
どちらも同じことをします。
JSLint は、グループ化括弧内に実行括弧を使用して、最初のものを使用することをお勧めします。これにより、おそらくすべてがきちんとグループ化されます。
個人的には、コードをスキャンすると、実行が関数式から際立っていることがわかるので、2番目の例の方がはるかに明確だと思います。
重複していませんが、この質問は同様の根拠をカバーしているため、一見の価値があるかもしれません。