ホームページ ウェブフロントエンド jsチュートリアル より良い jQuery plugins_jquery を作成するのに役立つ 10 のヒント

より良い jQuery plugins_jquery を作成するのに役立つ 10 のヒント

May 16, 2016 pm 03:58 PM
jQueryプラグイン 作成する

この記事では、より優れた jQuery プラグインの作成に役立つ 10 の提案をまとめています。皆さんの参考に共有してください。具体的な手順は次のとおりです:

多くの jQuery プラグインを開発した後、私は jQuery プラグインを開発するための比較的標準的な構造とパターンのセットをゆっくりと理解しました。こうすることで、コード構造の大部分をコピーして貼り付けることができ、メインのロジック コードだけに集中できます。同じ設計パターンとアーキテクチャを使用すると、バグの修正や二次開発の実行も容易になります。実績のあるアーキテクチャにより、プラグインが単純であるか複雑であるかに関係なく、プラグインが大きな問題を引き起こさないことが保証されます。ここでは私がまとめた10の経験を紹介します。

1. すべてのコードをクロージャ

の中に入れます。

これは私が最もよく使っているものです。ただし、クロージャの外側にあるメソッドを呼び出すことができない場合があります。

しかし、プラグインのコードは独自のプラグインにのみ機能するため、この問題は存在しません。すべてのコードをクロージャに含めることができます。

メソッドはおそらく Prototype メソッド内に配置する必要があります。

(function($) {  
  //code here 
})(jQuery);

ログイン後にコピー

2. プラグインのデフォルト オプションを提供します

プラグインには開発者が設定できるいくつかのオプションが必要であるため、デフォルトに戻すオプションを提供する必要があります。 これらのオプションは、jQuery の extend 関数を使用して設定できます:

var defaultSettings = {   mode      : 'Pencil',   
               lineWidthMin  : '0',   
               lineWidthMax  : '10',   
               lineWidth    : '2' }; 
settings = $.extend({}, defaultSettings, settings || {});

ログイン後にコピー

3.

を使用して要素を返します。

JavaScript/jQuery にはメソッドのカスケードを実行できるという優れた機能があるため、この機能を破壊せず、常にメソッド内の要素を返す必要があります。私は作成するすべての jQuery プラグインでこのルールに従います。

$.fn.wPaint = function(settings) {  
 return this.each(function() { 
    var elem = $(this);    
  //run some code here   
 } 
}

ログイン後にコピー

4. ワンタイムコードをメインループの外に配置します

これは非常に重要ですが、無視されることがよくあります。簡単に言えば、デフォルト値の束であり、プラグイン関数が呼び出されるたびにインスタンス化するのではなく、一度だけインスタンス化する必要があるコードがある場合、このコードをプラグインの外に置く必要があります。方法。これにより、プラグインがより効率的に実行され、メモリが節約されます。

var defaultSettings = {  
               mode      : 'Pencil',   
               lineWidthMin  : '0',   
               lineWidthMax  : '10',   
               lineWidth    : '2' }; 
settings = $.extend({}, defaultSettings, settings || {});
$.fn.wPaint = function(settings) {  
 return this.each(function() { 
    var elem = $(this);    
  //run some code here   
 } 
}

ログイン後にコピー

上記のコードの「defaultSettings」は完全にプラグイン メソッドの外側にあることがわかります。これらのコードはクロージャの内側にあるため、これらの変数がオーバーライドされることを心配する必要はありません。

5. クラス プロトタイピングを設定する理由

コードの血肉として、メソッドと関数はプロトタイプ関数内に配置する必要があります。理由は 2 つあります:

◆ これらのメソッドを繰り返し作成する必要がないため、メモリを大幅に節約できます。

◆ 既製のメソッドを参照する方が、再作成するよりもはるかに高速です。

簡単に言えば、プロトタイプはオブジェクトを拡張し、すべてのオブジェクトでメソッドをインスタンス化することなく、そのメソッドを提供します。これにより、コードがより整理され、効率的になります。この開発方法に慣れれば、今後のプロジェクトで時間を大幅に節約できることがわかります。

6. クラスプロトタイピングの設定方法

プロトタイプ メソッドの設定には 2 つの部分があります。まず最初のクラス定義を作成する必要があります。これはほとんどの場合、オブジェクトを作成することを意味します。この定義には、オブジェクト インスタンスごとに異なる部分が含まれます。ペイント jQuery プラグインで、次のように書きました:

function Canvas(settings) {  
 this.settings = settings;   
 this.draw = false;   
 this.canvas = null;    
   this.ctx = null;  
  return this;
}

ログイン後にコピー

グローバル メソッドを追加しましょう:

Canvas.prototype = {   
 generate: function() { 
    //generate code  
 } 
}
ログイン後にコピー

ここで重要なのは、プロトタイプのメソッドを汎用にすることですが、データは各インスタンスに固有であり、「this」で参照できるようになります。

7. 「this」オブジェクトを使用します

「$this」を使用すると、他のクロージャに正しい参照を渡すことができます。 $this 参照を他のメソッドに渡す必要がある場合もあります。 $this という名前は変更でき、任意の変数名を使用できることに注意してください。

Canvas.prototype = {  
 generate: function()  { 
    //some code    
  var $this = this;    
  var buton = //...some code  
    button.click(function(){ 
    //using this will not be found since it has it's own this    
    //use $this instead.     
   $this.someFunc($this);    
  });  
 }, 
 someFunc: function($this)   {  
    //won't know what "this" is.  
   //use $this instead passed from the click event  
  } 
}

ログイン後にコピー

8. 各オブジェクトに設定を保存します

私は各オブジェクトに独自の設定を保存し、独自の設定を操作してきました。こうすることで、さまざまなメソッドで多くのパラメーターを渡す必要がなくなります。これらの変数をオブジェクトに配置すると、他の場所でこれらの変数を呼び出すのも簡単になります。

function Canvas(settings) {  
 this.settings = settings;  
  return this; 
}

ログイン後にコピー

9. プロトタイプ メソッド ロジックを分離します

これは基本原則かもしれません。メソッドを提供することに躊躇する場合は、「他の人がこのメソッドをオーバーライドした場合、あなたのコードはそのニーズを満たすだろうか?」または「他の人がこのメソッドを書くのはどれほど難しいだろうか?」と自問してみてください。もちろん、これは柔軟性の問題です。これは私の Color Picker jQuery プラグイン メソッドのリストです。参照してください:

generate() 
appendColors() 
colorSelect() 
colorHoverOn() 
colorHoverOff() 
appendToElement() 
showPalette() 
hidePalette()

ログイン後にコピー

10. Setter/Getter オプションを指定します

これは必要ありませんが、すべてのプラグインにこれ​​が含まれていることがわかりました。他の人が必要とする可能性のある機能を提供するには、ほんの少しのコードしか必要ないからです。

基本的に必要なのは、開発者が要素の既存の値を設定または取得できるようにすることだけです。

var lineWidth = $("#container").wPaint("lineWidth"); 
$("#container").wPaint("lineWidth", "5");

ログイン後にコピー

要約: 上記の 10 項目は基本的に jQuery プラグイン開発の中核をカバーしており、開発のテンプレートとして使用できます。基本的なコード セットがあれば、開発時間が大幅に短縮され、プラグイン アーキテクチャを設計する際に自信が持てるようになります。

この記事が皆さんの jquery プログラミング設計に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Python で累積曲線グラフを作成するにはどうすればよいですか? Python で累積曲線グラフを作成するにはどうすればよいですか? Aug 23, 2023 pm 08:33 PM

オジブ グラフは、一連のデータの累積分布関数 (CDF) をグラフで表し、累積度数曲線とも呼ばれます。データの分布を調査し、パターンと傾向を発見するために使用されます。 Matplotlib、Pandas、Numpy は、Python が提供するグラフィックスを作成するためのライブラリとツールの一部です。このチュートリアルでは、Matplotlib を使用して Python でオギブ グラフィックを生成する方法を見ていきます。累積曲線チャートを作成するには、必要なライブラリをインポートする必要があります。この例では、Matplotlib、Pandas、Numpy を使用します。 Matplotlib は、Python で作成するための人気のあるデータ視覚化ライブラリです。

Pythonで定数を作成するにはどうすればよいですか? Pythonで定数を作成するにはどうすればよいですか? Aug 29, 2023 pm 05:17 PM

定数と変数は、プログラミングでデータ値を保存するために使用されます。変数は通常、時間の経過とともに変化する値を指します。定数は、プログラムの実行中に値を変更できない変数の一種です。 Python で使用できる組み込み定数は 6 つだけです。False、True、None、NotImplemented、Ellipsis(...)、__debug__ です。これらの定数とは別に、Python には定数値を格納するための組み込みデータ型がありません。例 定数の例を以下に示します。False=100 が出力されます。 SyntaxError:cannotassigntoFalseFalse は、ブール値を格納するために使用される Python の組み込み定数です。

最新の iOS 17 で iPhone をカスタマイズする方法 最新の iOS 17 で iPhone をカスタマイズする方法 Sep 21, 2023 am 08:17 AM

iPhone で通話をカスタマイズする方法 Apple の iOS 17 では、iPhone の通話画面の外観をカスタマイズできる連絡先ポスターと呼ばれる新機能が導入されています。この機能を使用すると、選択した写真、色、フォント、ミー文字を連絡先カードとして使用してポスターをデザインできます。そのため、電話をかけると、受信者の iPhone にあなたのカスタム画像が想像どおりに表示されます。独自の連絡先ポスターを保存されているすべての連絡先と共有するか、誰が閲覧できるかを選択できます。同様に、通話交換中に他の人の連絡先ポスターも表示されます。さらに、Apple では、個々の連絡先に特定の連絡先の写真を設定し、それらの連絡先から電話をかけることができます

GIMPでピクセルアートを作成する方法 GIMPでピクセルアートを作成する方法 Feb 19, 2024 pm 03:24 PM

この記事は、Windows でのピクセル アート作成に GIMP を使用することに興味がある場合に役立ちます。 GIMP は、無料でオープンソースであるだけでなく、美しい画像やデザインを簡単に作成できる有名なグラフィック編集ソフトウェアです。 GIMP は、初心者にもプロのデザイナーにも同様に適していることに加えて、描画と作成のための唯一の構成要素としてピクセルを利用するデジタル アートの形式であるピクセル アートの作成にも使用できます。 GIMP でピクセル アートを作成する方法 Windows PC で GIMP を使用してピクセル アートを作成する主な手順は次のとおりです。 GIMP をダウンロードしてインストールし、アプリケーションを起動します。新しいイメージを作成します。幅と高さのサイズを変更します。鉛筆ツールを選択します。ブラシの種類をピクセルに設定します。設定

Python でユーザー インターフェイスを作成するにはどうすればよいですか? Python でユーザー インターフェイスを作成するにはどうすればよいですか? Aug 26, 2023 am 09:17 AM

この記事では、Pythonを使用してユーザーインターフェイスを作成する方法を学びます。グラフィカル ユーザー インターフェイスとは何ですか? 「グラフィカル ユーザー インターフェイス」(または「GUI」) という用語は、情報を表示したり対話したりするためにコンピューター ソフトウェアで対話できる一連の視覚要素項目を指します。人間の入力に応じて、オブジェクトは色、サイズ、可視性などの外観特性を変更する場合があります。アイコン、カーソル、ボタンなどのグラフィカル コンポーネントをオーディオ効果または視覚効果 (透明度など) で強化して、グラフィカル ユーザー インターフェイス (GUI) を作成できます。より多くの人にプラットフォームを使用してもらいたい場合は、優れたユーザー インターフェイスを備えていることを確認する必要があります。これらの要因の組み合わせによって、アプリや Web サイトが提供するサービスの品質に大きな影響を与える可能性があるためです。 Python は、次の機能を備えているため、開発者によって広く使用されています。

Gree+ でファミリーを作成する方法 Gree+ でファミリーを作成する方法 Mar 01, 2024 pm 12:40 PM

「Gree+ ソフトウェアでファミリーを作成する方法を知りたい」という友達がたくさんいました。操作方法は次のとおりです。詳しく知りたい友達は、一緒に見に来てください。まず、携帯電話で Gree+ ソフトウェアを開き、ログインします。次に、ページ下部のオプション バーで、右端の [My] オプションをクリックして、個人アカウント ページに入ります。 2. マイページにアクセスすると、「ファミリー」の下に「ファミリーを作成」という項目があるので、それをクリックして入力します。 3. 次にファミリーを作成するページにジャンプし、表示に従って入力ボックスに設定するファミリー名を入力し、入力後右上の「保存」ボタンをクリックします。 4. 最後に、ページの下部に「正常に保存しました」というプロンプトが表示され、ファミリが正常に作成されたことが示されます。

iPhone 用の連絡先ポスターを作成する方法 iPhone 用の連絡先ポスターを作成する方法 Mar 02, 2024 am 11:30 AM

iOS17 では、Apple は一般的に使用される電話アプリと連絡先アプリに連絡先ポスター機能を追加しました。この機能を使用すると、ユーザーは連絡先ごとにパーソナライズされたポスターを設定できるため、アドレス帳がより視覚的で個人的なものになります。連絡先ポスターは、ユーザーが特定の連絡先をより迅速に識別して見つけるのに役立ち、ユーザー エクスペリエンスを向上させます。この機能により、ユーザーは自分の好みやニーズに応じて各連絡先に特定の写真やロゴを追加でき、アドレス帳のインターフェイスがより鮮明になり、iOS17 では Apple は iPhone ユーザーに自分自身を表現する新しい方法を提供し、パーソナライズ可能な連絡先ポスターを追加しました。連絡先ポスター機能を使用すると、他の iPhone ユーザーに電話をかけるときに、独自のパーソナライズされたコンテンツを表示できます。あなた

Realme Phoneでフォルダーを作成するにはどうすればよいですか? Realme Phoneでフォルダーを作成するにはどうすればよいですか? Mar 23, 2024 pm 02:30 PM

タイトル: Realme Phone 初心者ガイド: Realme Phone でフォルダーを作成する方法?今日の社会において、携帯電話は人々の生活に欠かせないツールとなっています。人気のスマートフォン ブランドとして、Realme Phone はそのシンプルで実用的なオペレーティング システムでユーザーに愛されています。 Realme 携帯電話を使用する過程で、多くの人が携帯電話上のファイルやアプリケーションを整理する必要がある状況に遭遇する可能性があり、フォルダーを作成するのが効果的な方法です。この記事では、ユーザーが携帯電話のコンテンツをより適切に管理できるように、Realme 携帯電話にフォルダーを作成する方法を紹介します。いいえ。

See all articles