関連する推奨事項: 「jQuery チュートリアル 」
JQuery の拡張メソッド extend は、プラグインを作成するときによく使用されるメソッドです。このメソッドは、ここでは、それらについて一緒に学びます。
1. Jquery の拡張メソッドのプロトタイプは、
extend(dest,src1,src2,src3...);
src1、src2、src3... を戻り値の dest にマージすることを意味します。このメソッドはマージ後に dest の構造を変更することがわかります。マージされた結果を取得したいが、dest の構造を変更したくない場合は、次のように使用できます。
var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数。
このようにして、src1、src2、src3... と src3 をマージできます。次に、マージされた結果を newSrc に返します。例:
var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})
マージ結果
result={name:"Jerry",age:21,sex:"Boy"}
は、次のパラメータが前のパラメータと同じ名前を持つ場合、後者のパラメータが前のパラメータ値を上書きすることを意味します。
2. dest パラメータの省略
#上記の extend メソッドのプロトタイプ内の dest パラメータは省略可能です。省略した場合、このメソッドは src パラメーターを 1 つだけ持つことができ、src は extend メソッドを呼び出すオブジェクトにマージされます (例:
1, $)。 .extend(src )
このメソッドは、次のように src を jquery のグローバル オブジェクトにマージします。
$.extend({ hello:function(){alert('hello');} });
は、 hello メソッドをグローバル オブジェクトの jquery に追加します。
2. $.fn.extend(src)
このメソッドは、src を jquery インスタンス オブジェクトにマージします (例:
$.fn.extend({ hello:function(){alert('hello');} });
)。 hello メソッドを jquery インスタンス オブジェクトにマージします。
一般的に使用される拡張の例をいくつか示します:
$.extend({net:{}});
これは、jquery グローバル オブジェクトのネット名前空間を拡張します。
$.extend($.net,{ hello:function(){alert('hello');} })
これは、hello メソッドを以前に拡張された Jquery net 名前空間に拡張するためのものです。
3. Jquery の extend メソッドにもオーバーロードされたプロトタイプがあります:
extend(boolean,dest,src1,src2,src3...)
最初のパラメーターのブール値はディープ コピーを実行するかどうかを表し、残りのパラメーターは次と同じです。ディープ コピーとは何か、例を見てみましょう:
var result=$.extend( true, {}, { name: "John", location: {city: "Boston",county:"USA"} }, { last: "Resig", location: {state: "MA",county:"China"} } );
サブオブジェクトの場所: {city: "Boston"} が src1 にネストされており、サブオブジェクトがlocation: {state: も src2. "MA"} にネストされており、最初のディープ コピー パラメータが true の場合、マージ結果は次のようになります:
result={name:"John",last:"Resig", location:{city:"Boston",state:"MA",county:"China"}}
つまり、ネストされたサブコピー パラメータもマージされます。 src 内のオブジェクト、および最初のパラメータ boolean が false の場合、次のようにマージの結果がどのようになるかを見てみましょう:
var result=$.extend( false, {}, { name: "John", location:{city: "Boston",county:"USA"} }, { last: "Resig", location: {state: "MA",county:"China"} } );
マージ後の結果は次のとおりです:
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
上記は、$.extend() がプロジェクトでよく使用されるということです。詳細がわかりました。
プログラミング関連の知識について詳しくは、プログラミング教育をご覧ください。 !
以上がJqueryの拡張メソッドextendの詳細解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。