可能性の重複:
How do JavaScript closures work?この方法で無名関数に引数を渡す目的は何ですか?
私は、Google Closure Compilerで遊んで、それがどうなるか見てランダムコードに入れていました。
(function(msg) { console.log(msg); })("Hello World!");
"Hello World"
は、それに先立つ無名関数へmsg
として渡された引数があることが表示されます:
$
との競合の範囲で、私に多くの意味を成して
(function($) {
...
})(jQuery);
を。しかし、このような無名関数に引数を渡す主な理由または目的は何ですか?関数内の引数として引数を単に定義するのはなぜですか?このような関数を書くことに、パフォーマンスや柔軟性の利点はありますか?
この特定のコードについては、本当の理由はありません。あなたは単に 'console.log(" hello ");'を実行することができます。しかし、通常は、内部で作成され、エクスポートされたいくつかの関数でのみアクセス可能なローカル変数を作成することがあります。 –
私はそのフォームになった元のコードを見るのが好きです。私はあなたがADVANCED_OPTIMIZATIONSを有効にしていれば、その機能を完全に取り除くことになるでしょう。 –
@ user1689607この機能は少し違っていました。私はそれをきれいにするために簡潔にしました。この具体的な例よりもコンセプトについてもっと疑問がある –