7

IIFE であることがわかっている次のコードがあります。しかし、(jQuery) と ($) が何なのか、いまいち掴めませんでした。jQueryの参照をIIFEに渡すことに関係があることは知っていますが、誰かがそれらの目的を明確に説明できますか? あなたの助けと時間をありがとう:-)

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

1 に答える 1

15

$関数への引数です。 jQuery関数が呼び出されたときにその引数として渡されるものです。

次のように考えてください。

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);

この例がグローバル シンボルを作成するという事実を除いて、initこれと IIFE の実行は同じです。どちらも関数を定義し、すぐに呼び出します。

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

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

于 2012-09-08T16:16:19.823 に答える