ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery作成プラグイン_jqueryのコード解析

jQuery作成プラグイン_jqueryのコード解析

WBOY
WBOYオリジナル
2016-05-16 18:07:451072ブラウズ

jQuery プラグインを作成する場合、基本的な形式は上記のコードです:

コードをコピー コードは次のとおりです:

(function ($)
{
//ここにコードを追加
})(jQuery)


どう理解すればよいでしょうか?
ステップ 1: function ($){} は、1 つのパラメーターを持つ匿名関数を定義します。$ はパラメーター名であり、他のパラメーター名と変わりません。
ステップ 2: (function ($){})(jQuery)
匿名関数を実行したい場合は、通常、var func = function ($) { } の形式を使用し、次に func (パラメータ) を使用します。 。ここで、 func は Function オブジェクトです。ただし、より簡潔な (function ($) {}) では、括弧が使用されている場合、括弧の内容も返します。これも関数オブジェクトです。もう一度実行するだけです: (function ($) {})(jQuery)
ステップ 3: 現時点では、上で定義した匿名関数を実際に実行しており、実行中に匿名関数にパラメータ値を提供しています: jQuery 。
ステップ 4: 最終的に、上記の式は次と同等になります:
var func = function($) { };
func(jQuery);
つまり、匿名関数を定義し、 jQueryをパラメータとして1回実行します。

ここでの機能は何ですか?
1. $ 記号の競合の問題を解決する
jQuery では、記述を簡素化するために jQuery の代わりに $ を使用します。ただし、$ 記号は競合する場合があります。
上記の匿名関数のコードでは、$ を使用して記述することができますが、実行時には代わりに jQuery が使用されるため、変数の競合が回避されます。
2. クロージャの問題を解決します。
一般に、スクリプトで直接記述された関数の場合、破棄されなかった変数は実行後も存在し続け、通常どおりアクセスできます。これは、私たちが常に理解している関数のプライベート変数と矛盾します。
しかし、このメソッドを使用して必要なすべての関数をこの匿名関数でラップすると、その中のローカル変数は外部からアクセスできなくなり、プライベート ローカル変数を作成する役割を偽装します。これで始まるメンバーのみがプラグインの外部からアクセスできます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。