ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery プラグイン開発で `(function($) {})(jQuery);` が使用されるのはなぜですか?
(function($) {})(jQuery);
の目的を理解するこのコード スニペットは、すぐに実行される匿名関数を表しています。 jQuery ライブラリを引数として渡して呼び出されます。これは、さまざまな理由で jQuery プラグイン開発でよく使用されます。
関数呼び出し構文
構文 (function($) {})(jQuery);以下で構成されます:
function($) {}
これは、単一の引数 $ を受け入れる匿名関数を定義します。
(...)
関数定義の後の括弧は、関数が即時に呼び出されることを示します。
(jQuery);
jQuery ライブラリは関数の引数として渡されます。
(function($) {})( jQuery);
jQuery プラグインを作成する場合、このコード スニペットはいくつかの重要な目的を果たします。
プラグイン構造のバリエーション
さまざまな方法がありますそれぞれに独自の利点と使用例がある jQuery プラグインを構造化します。質問で提供されている例では、さまざまなアプローチが強調表示されています。
タイプ 1: オブジェクト リテラル拡張
(function($) { $.fn.jPluginName = {...}; })(jQuery);
このアプローチでは、jQuery プロトタイプに新しいメソッドが作成され、それが可能になります。 jQuery セレクターで呼び出されます。
タイプ 2: 直接オブジェクト拡張
(function($) { $.jPluginName = {...}; })(jQuery);
この拡張機能は、$.ajax と同様に、jQuery オブジェクトにプロパティを直接追加します。または $.post.
タイプ 3: メソッド拡張
(function($){ //Attach this new method to jQuery $.fn.extend({ ... })})(jQuery);
このメソッドは最も柔軟性が高く、単一のプラグイン内で複数のプラグイン プロパティとメソッドを定義できます。 object.
this キーワードの使用方法**
場合によっては、jQuery プラグイン内で this を使用すると、期待どおりに動作しないことがあります。これは、this キーワードが関数呼び出しのコンテキストを参照しているためです。タイプ 1 プラグインでは、this は jQuery 要素を指しますが、タイプ 2 プラグインでは、jQuery オブジェクト自体を指します。タイプ 3 プラグインを使用すると、this が常に jQuery 要素を参照するようになります。
以上がjQuery プラグイン開発で `(function($) {})(jQuery);` が使用されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。