JQuery の extend メソッド: JQuery の extend メソッドは、プラグインを作成するときによく使用されるメソッドです。このメソッドにはいくつかのオーバーロードされたプロトタイプがあります。ここでは、それについて一緒に学びましょう。 1. Jquery の拡張メソッドのプロトタイプは次のとおりです:
extend (dest ,src1,src2,src3...);
これは src1、src2、src3... を dest にマージすることを意味し、戻り値はマージされた dest であることがわかります。このメソッドをマージした後、dest の構造が変更されます。マージされた結果を取得したいが、dest の構造を変更したくない場合は、次のように使用できます:
var newSrc=$.extend({},src1,src2,src3...)//つまり、dest として "{}" を使用します。パラメータ。
このようにして、src1、src2、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) このメソッドは、次のような jquery のグローバル オブジェクトに src をマージします。
$.extend({ hello:function(){alert('hello');} });
jqueryのグローバルオブジェクトにhelloメソッドをマージすることです。
2. $.fn.extend(src) このメソッドは、次のように src を jquery インスタンス オブジェクトにマージします。
$.fn.extend({ hello:function(){alert('hello');} });
jqueryインスタンスオブジェクトにhelloメソッドをマージすることです。
一般的に使用される拡張機能の例をいくつか示します:
$.extend({net:{}});
これは、jquery グローバル オブジェクトの net 名前空間を拡張します。
$.extend($.net,{ hello:function (){alert('hello');} })
これは、以前に拡張された Jquery net 名前空間に hello メソッドを拡張します。
3. Jquery の extend メソッドにもオーバーロードされたプロトタイプがあります:
extend(boolean,dest,src1,src2,src3...)
最初のパラメーター boolean は、ディープ コピーを実行するかどうかを表します。他のパラメーターは前の紹介と一致します。ディープコピーとは何ですか? コピー、例を見てみましょう:
コードをコピーします: 🎜> var result=$.extend( true, {}, { name: "John", location: {city: "Boston",county:"USA"} }, { last: "Resig", location: {州: "MA"、郡:" 中国"} } );
サブオブジェクトの場所: {city: "Boston"} が src1 にネストされており、サブオブジェクトの場所: {state: "MA"} も src2 にネストされていることがわかります。が true の場合、マージ後の結果は次のようになります:
result={name:" John",last:"Resig", location:{city:"Boston",state:"MA",county:"China"}}
つまり、src のネストされたサブオブジェクトもマージされます。最初のパラメーターのブール値が 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() はプロジェクトでよく使用されます。