ホームページ  >  記事  >  ウェブフロントエンド  >  Jqueryの拡張メソッドextendの詳細解説

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

青灯夜游
青灯夜游転載
2020-11-24 18:06:113449ブラウズ

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 までご連絡ください。