重複の可能性:
JavaScriptでは「(function(){})()」と「(function(){}())」は機能的に同じですか?
これらの特殊文字を持っている私の質問は、私は良い答えを見つけることができませんでした。(誰かが彼らと一緒に検索する方法を知っていますか?)
匿名関数をすぐに呼び出す2つのパターンを見てきましたhttp://jsfiddle.net/ukqS8/1/
(function(d) {
document.write(d*2);
})(3);
と
(function(x) {
document.write(x*2);
}(3));
違いは、(3)が配置されている場所です。閉じ括弧の内側または外側です。
私はここで2番目のケースの良い説明を見つけました:
javascript関数vs.(function(){...}());
これは関数オブジェクトを作成するものとして理解しましfunction(x) {...}
たが、(3)はその引数になり、囲んでいる()はインタプリタに内部にあるのはステートメントであることを示します。
最初のケースでは(function(d) {...})
、どういうわけか関数でもあるというステートメントを作成し、このステートメント/関数に(3)を適用するように見えます。
したがって、どちらも同じように実行されているように見えます。ここに本当に違いはありますか?スコープ(私はそれを疑う)?どちらのオプションが望ましいですか?