1

私はしばらくの間 JS でプログラミングを行ってきましたが、即時関数を使用する必要が生じたことはありません。たとえば、次のようになります。

(function(){
    console.log('hello, I am an immediate function');
}())

私がちょうど書いた場合の違いは何ですか:

console.log('hello, I am an immediate function');

? とにかく、この関数にはアクセスできません (どこにも割り当てられていません)。私は (確信はありませんが) 即時関数なしですべてを実装できると思います。では、なぜ人々はそれを使用するのでしょうか?

4

6 に答える 6

1

開発者は、即時関数を使用してプライベート スコープを宣言します。例えば...

(function($){
   $("div").html("example");
})(jQuery);

$このコードでは、グローバル スコープ内の変数は必要ありませんwindow.jQuery。別のライブラリがオブジェクトで使用している変数名を使用したい場合に、起こりうる競合を防ぎwindowます (たとえば、window.$Prototype.js などの別の提案に使用できます)。

于 2013-06-20T11:35:42.060 に答える