2012-09-08 7 views
5

私はIIFEであることがわかっている次のコードを持っています。しかし、私は(jQuery)と($)が何であるかを把握することはできませんでした。 jQueryのリファレンスをIIFEに渡すことと何か関係があることは分かっていますが、誰かが私にその目的を明確に説明できますか?助けていただきありがとうございます:-)JavaScriptで即座に呼び出される関数式(IIFE) - jQueryを渡す

(function ($) { 
//code 
})(jQuery); 

答えて

13

$は、関数の引数です。 jQueryは、関数が呼び出されたときにその引数として渡されるものです。このようなことの

思う:この例では、グローバルシンボルinitを作成し、これを実行するとあなたの生命維持が同一であるという事実を除いて

function init($) { 
    // code can use $ here as a shortcut for jQuery 
    // even if $ has a different definition globally or isn't defined globally 
} 

init(jQuery); 

。両方とも関数を定義し、直ちに呼び出す。

$は、この関数の引数です。 jQueryは、その引数として渡されるものです。これは、$のグローバル定義に影響を与えずに、その機能内でjQueryのショートカットとして$を定義するのに役立ちます。ローカル変数(ローカル変数または名前付き引数のいずれか)に定義されたシンボルは、グローバルシンボルよりもアクセスがわずかに速いため、わずかなパフォーマンス上の利点があります。

IIFEの利点は、新しいグローバルシンボルが定義されないことです。それ以外は、このコードと同じです。

+0

素敵な回答私の友人:-)ありがとう! :-) – Hirvesh

関連する問題