ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery.extend function_jqueryの詳細説明

jQuery.extend function_jqueryの詳細説明

WBOY
WBOYオリジナル
2016-05-16 17:56:471055ブラウズ

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 をマージします。
Copy code コードは次のとおりです:

$.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() はプロジェクトでよく使用されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。