ホームページ ウェブフロントエンド jsチュートリアル jQuery.extend 関数と使用法の詳細_jquery

jQuery.extend 関数と使用法の詳細_jquery

May 16, 2016 pm 03:40 PM

jquery.extend関数の詳しい説明

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)

このメソッドは、次のように 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');}
 })
ログイン後にコピー

これは、以前に拡張された Jquery net 名前空間に hello メソッドを拡張するものです。

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"} } );
ログイン後にコピー

サブオブジェクト location:{city:"Boston"} が src1 にネストされており、サブオブジェクト location:{state:"MA"},最初のディープ コピー パラメーターが 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() がプロジェクトでよく使用される詳細の一部です。

追加: jquery プラグインの作成には extend() メソッドもよく使用します。そのため、jquery プラグインの種類は次のとおりです。

jQuery プラグインの種類

1. オブジェクトメソッドのカプセル化 このプラグインは、オブジェクトメソッドをカプセル化し、セレクターを通じて取得した jQuery オブジェクトを操作するために使用されます。このタイプのプラグインは、parent() メソッドや appendTo( など、jQuery スクリプト ライブラリ内のこの形式で、かなりの数の jQuery メソッドがカーネルに「挿入」されます。 )メソッドを待ってください。

2. グローバル関数をカプセル化すると、独立した関数を jQuery 名前空間に追加できます。たとえば、一般的に使用される jQuery.ajax() メソッドと、先頭と末尾のスペースを削除する jQuery.trim() メソッドはすべて、jQuery 内のグローバル関数としてカーネルにアタッチされるプラグインです。

3. セレクター プラグイン jQuery のセレクターは非常に強力ですが、場合によっては、お気に入りのセレクターの一部を拡張するためにセレクター プラグインを使用する必要があります。

jQuery.fn.extend() は主に、上記の 3 つのタイプのうちの最初のプラグインを拡張するために使用され、jQuery.extend() は後の 2 つのプラグインを拡張するために使用されます。どちらのメソッドも、Object 型のパラメーターを 1 つ受け入れます。 Object オブジェクトの「名前と値のペア」は、それぞれ「関数またはメソッドの名前/関数本体」を表します。

jquery.extend関数の使い方の詳しい説明

最近jQueryを勉強しています。 jQuery.extend 拡張関数の使用法を記録します。

1. jQuery の静的メソッドを拡張します。

$.extend({
test:function(){alert('test函数')}
})
ログイン後にコピー
使用法: $.test()

2. 複数のオブジェクトを結合します

jQuery.extend(css1, css2) を例に挙げます。css1 と css2 にはいくつかの属性があります (メソッドは引き続き処理します。ここでは属性について説明します)。 extend 関数は、css2 に存在するが css2 には存在しない属性を css1 に追加します。css2 の特定の属性が css1 の特定の属性と同じ名前を共有する場合、css2 の属性を使用して同じ名前の属性が上書きされます。 css1の。 css1 は最終的な統合オブジェクトです。または、次のこともできます:


3.深度镶套对象

新的extend()允许你更深度的合并镶套对象。下面的例子是一个很好的证明。

 // 以前的 .extend()  
  jQuery.extend(  
   { name: “John”, location: { city: “Boston” } },  
   { last: “Resig”, location: { state: “MA” } }  
  );  
   // 结果:  
   // => { name: “John”, last: “Resig”, location: { state: “MA” } }
  // 新的更深入的 .extend()  
  jQuery.extend( true,  
  { name: “John”, location: { city: “Boston” } },  
   { last: “Resig”, location: { state: “MA” } }  
 );  
 // 结果  
  // => { name: “John”, last: “Resig”,  
 //   location: { city: “Boston”, state: “MA” } }
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

10 jQueryの楽しみとゲームプラグイン 10 jQueryの楽しみとゲームプラグイン Mar 08, 2025 am 12:42 AM

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

Ajaxを使用して動的にボックスコンテンツをロードします Ajaxを使用して動的にボックスコンテンツをロードします Mar 06, 2025 am 01:07 AM

このチュートリアルでは、Ajaxを介してロードされた動的なページボックスの作成を示しており、フルページのリロードなしでインスタントリフレッシュを可能にします。 JQueryとJavaScriptを活用します。カスタムのFacebookスタイルのコンテンツボックスローダーと考えてください。 重要な概念: ajaxとjquery

jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 Mar 08, 2025 am 12:39 AM

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

JavaScript用のクッキーレスセッションライブラリを作成する方法 JavaScript用のクッキーレスセッションライブラリを作成する方法 Mar 06, 2025 am 01:18 AM

このJavaScriptライブラリは、Cookieに依存せずにセッションデータを管理するためにWindow.nameプロパティを活用します。 ブラウザ全体でセッション変数を保存および取得するための堅牢なソリューションを提供します。 ライブラリは、セッションの3つのコア方法を提供します

See all articles