JSカプセル化プラグインの場合

Apr 18, 2018 am 10:49 AM
javascript プラグイン 場合

今回は JS カプセル化プラグインの事例をお届けします。 JS カプセル化プラグインの 注意事項 は何ですか? 以下は実際的な事例です。

プロジェクトの都合により、私は 1 年以上 js でプラグインを書いていませんでした。プロジェクトが成熟しすぎているため、通常はパッケージ化された関数型プラグインを使用しています。とても気分が落ち込んでいます...過去 2 日間、統計グラフや割引グラフを描画するための canvas プラグインを作成するのに時間をかけたかったので、パッケージ化する方法を学ぶためにオンラインにアクセスしました...ソースコードを読む前にたくさん読んだことがありますが、理解できても、まだ突飛なアイデアだと感じます...

カプセル化とは何ですか?

私の理解は 関数を別のコンポーネントに作成することは、かつては餃子を作るのに似ています。餃子を作るには、まず小麦粉で餃子の皮を作り、次に餃子の餡を作り、それから餃子を手作りする必要がありました。しかし今では、餃子を自動で作る方法が発明されています。機械の内部 各工程は餃子を作るのと同じですが、実はここでやるべきことは材料を入れることだけです。ここでのマシンはパッケージ化されたプラグインであり、原材料は渡したいパラメーターです

なぜ js 関数をプラグインにカプセル化する必要があるのでしょうか?以下の点があると思います

1. コードの再利用を促進する

2. 同じ機能を持つコンポーネント間の干渉を避ける スコープに問題がある可能性があります

。 3. メンテナンスが容易でプロジェクトの蓄積が容易

4. ずっとコピペってレベル低いと思いませんか…

ネットで見たカプセル化には2種類あるようで、1つはjsのネイティブカプセル化、もう1つはjqueryのカプセル化です。まずネイティブカプセル化について話しましょう。

カプセル化するとき、変数の競合を防ぐために、js コードを自己実行関数 に入れます。 りー

次に、

コンストラクター

(function(){
  ......
  ......
}()}
ログイン後にコピー
を作成します この関数を外部に公開してグローバルに呼び出せるようにします

(function(){
  var demo = function(options){
    ......
  }
}())
ログイン後にコピー
実際、関数は実装されていませんが、カプセル化されており、直接呼び出すことができるようになりました

(function(){
  var demo = function(options){
    ......
  }
  window.demo = demo;
}())
ログイン後にコピー
それとも

りー

では、どのようにパラメータを渡すのでしょうか? 通常、プラグインの 1 つは必須パラメータまたはオプションのパラメータを持っています。私の意見では、オプションのパラメータはプラグインで与えられる単なるデフォルト値です。渡すパラメーターはプラグインのデフォルトのパラメーターをオーバーライドします。これは $.extend({}) でオーバーライドできます

var ss = new demo({
  x:1,
  y:2
});
ログイン後にコピー
その後、コンストラクターを初期化するときにいくつかの操作を実行できます

new demo({
  x:2,
  y:3
});
ログイン後にコピー
ここで質問がありますが、extend は jquery にのみ存在しますか? js

object の代替となるものはありますか?後で調べてみます…

もう 1 つ言及する必要があるのは、js をカプセル化するときは、パフォーマンスだけでなく、スケーラビリティや互換性などすべてを考慮する必要があるということです。必要がなければカプセル化する必要はありません。

インターネット上には完成されたプラグインが無数にあり、その機能は非常に強力ですが、大きなプラグインのほんの一部しか使用しない場合があるため、修正が必要になることがあります。また、一部のプロジェクトのスタイルは現在のプラグインのスタイルとは異なるため、自分のプロジェクトに合わせることが重要です。 この記事を読む方法はもうマスターされたと思います。さらに興味をそそられる場合は、PHP 中国語 Web サイトの他の関連記事にも注目してください。

推奨読書:

Vuejs によるページの地域化の操作方法


webpack2+React の使用の詳細な説明


JQUERY は現在のタグ名を通じて属性の値を取得します

以上がJSカプセル化プラグインの場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PyCharm 初心者ガイド: プラグインのインストールを徹底理解! PyCharm 初心者ガイド: プラグインのインストールを徹底理解! Feb 25, 2024 pm 11:57 PM

PyCharm は、開発者がより効率的にコードを記述できるようにする豊富な機能とツールを提供する、強力で人気のある Python 統合開発環境 (IDE) です。 PyCharm のプラグイン機構は、機能を拡張するための強力なツールであり、さまざまなプラグインをインストールすることで、PyCharm にさまざまな機能やカスタマイズ機能を追加できます。したがって、PyCharm の初心者にとって、プラグインのインストールを理解し、習熟することが重要です。この記事では、PyCharm プラグインの完全なインストールについて詳しく説明します。

Illustrator でのプラグインの読み込みエラー [修正] Illustrator でのプラグインの読み込みエラー [修正] Feb 19, 2024 pm 12:00 PM

Adobe Illustrator を起動すると、プラグインの読み込みエラーに関するメッセージが表示されますか?一部の Illustrator ユーザーは、アプリケーションを開いたときにこのエラーに遭遇しました。メッセージの後には、問題のあるプラグインのリストが続きます。このエラー メッセージは、インストールされているプラ​​グインに問題があることを示していますが、Visual C++ DLL ファイルの破損や環境設定ファイルの破損など、他の理由によって発生する可能性もあります。このエラーが発生した場合は、この記事で問題を解決する方法を説明しますので、以下を読み続けてください。 Illustrator でのプラグインの読み込みエラー Adob​​e Illustrator を起動しようとしたときに「プラグインの読み込みエラー」エラー メッセージが表示された場合は、次の操作を行うことができます。 管理者として

Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します Mar 13, 2024 pm 04:34 PM

ユーザーが Edge ブラウザを使用する場合、より多くのニーズを満たすためにいくつかのプラグインを追加する場合があります。しかし、プラグインを追加すると、このプラグインはサポートされていないと表示されます。この問題を解決するにはどうすればよいですか?今日は編集者が 3 つの解決策を紹介しますので、ぜひ試してみてください。方法 1: 別のブラウザを使用してみてください。方法 2: ブラウザ上の Flash Player が古いか見つからないため、プラグインがサポートされていない可能性があり、公式 Web サイトから最新バージョンをダウンロードできます。方法3:「Ctrl+Shift+Delete」キーを同時に押します。 「データを消去」をクリックしてブラウザを再度開きます。

Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか? Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか? Mar 08, 2024 am 08:55 AM

Chrome プラグイン拡張機能のインストール ディレクトリとは何ですか?通常の状況では、Chrome プラグイン拡張機能のデフォルトのインストール ディレクトリは次のとおりです。 1. WindowsXP での Chrome プラグインのデフォルトのインストール ディレクトリの場所: C:\DocumentsandSettings\username\LocalSettings\ApplicationData\Google\Chrome\UserData\ Default\Extensions2. Windows7 の chrome プラグインのデフォルトのインストール ディレクトリの場所: C:\Users\username\AppData\Local\Google\Chrome\User

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

PyCharm Community Edition は十分なプラグインをサポートしていますか? PyCharm Community Edition は十分なプラグインをサポートしていますか? Feb 20, 2024 pm 04:42 PM

PyCharm Community Edition は十分なプラグインをサポートしていますか?特定のコード例が必要 ソフトウェア開発の分野で Python 言語がますます広く使用されるようになるにつれて、プロ仕様の Python 統合開発環境 (IDE) として PyCharm が開発者に好まれています。 PyCharmはプロフェッショナル版とコミュニティ版の2つのバージョンに分かれており、コミュニティ版は無料で提供されますが、プラグインのサポートがプロフェッショナル版に比べて制限されています。そこで問題は、PyCharm Community Edition は十分なプラグインをサポートしているかということです。この記事では、具体的なコード例を使用して、

EclipseSVNプラグインのインストールと設定方法を詳しく解説 EclipseSVNプラグインのインストールと設定方法を詳しく解説 Jan 28, 2024 am 08:42 AM

EclipseSVN プラグインのインストールと設定方法の詳細な説明 Eclipse は、機能を拡張するためにさまざまなプラグインをサポートする、広く使用されている統合開発環境 (IDE) です。その 1 つは EclipseSVN プラグインで、開発者が Subversion バージョン管理システムと対話できるようにします。この記事では、EclipseSVN プラグインのインストールおよび設定方法を詳しく説明し、具体的なコード例を示します。ステップ 1: EclipseSVN プラグインをインストールし、Eclipse を開く

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

See all articles