Jqueryの拡張メソッドextendの詳細解説

青灯夜游
リリース: 2020-11-24 18:06:11
転載
3634 人が閲覧しました

Jqueryの拡張メソッドextendの詳細解説

関連する推奨事項: 「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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート