JS モジュールと namespaces_javascript スキルの概要
原因
コードをクラスに編成する重要な理由は、コードをより「モジュール化」し、さまざまなシナリオでコードを再利用できるようにすることです。しかし、コードをモジュール化する唯一の方法はクラスではありません。
一般に、モジュールは独立した JS ファイルです。モジュール ファイルには、クラス定義、関連クラスのセット、ユーティリティ関数のライブラリ、または実行されるコードを含めることができます。
モジュール化の目標は、大規模なプログラム開発をサポートし、分散したソースからのコードのアセンブリを処理し、不要なモジュール コードが含まれている場合でもコードが正しく実行できるようにすることです。
理想的には、どのモジュールも複数のグローバル フラグを定義すべきではありません。
モジュール関数
は、関数内でモジュールを定義することによって実装されます。定義された変数と関数は関数のローカル変数であり、関数の外部には表示されません。実際、この関数スコープをモジュールの名前空間 (モジュール関数) として使用できます
モジュール コードが関数にカプセル化されたら、モジュール関数の外部で呼び出せるようにパブリック API をエクスポートする何らかの方法が必要です。パブリック API をエクスポートするには、いくつかの方法があります:
まず名前空間を作成します
// 学校を保存するグローバル変数を作成します関連情報 モジュール
var school; // 学校の名前空間を作成します
if(!school) school = {};
1. コンストラクター
を使用します。// Student コンストラクターを返して、 public API
school.Student = (function() {
function Student() {
}
//... Student. のプロトタイプ オブジェクトとプライベート プロパティとメソッドを定義します。 .. ....
return Student; // パブリック API をエクスポートするための Student コンストラクターを返します
})();
2. 名前空間オブジェクト
を返します。モジュール API に複数のユニットが含まれる場合、名前空間オブジェクトを返すことができます
// 学生モジュールを学校に追加します
school.students = (function() {
// ローカル変数と関数を使用して、コース クラス/学年クラスなどの多くのクラスがここで定義されます
function Subject() { /* ... */ }
function Grade () { /* ... */ }
// 名前空間オブジェクトを返して API をエクスポートします
return {
Subject: Subject,
Grade: Grade
};
})();
3. キーワード new を使用して
を呼び出します。もう 1 つの同様の手法: モジュール関数をコンストラクターとして扱い、new を通じて呼び出します。それら (パブリック API) をこの属性に割り当ててエクスポートします
school.students = (new function() {
// ..... ここではコードは省略します...
// API をこのオブジェクトに送信します
this.Subject = Subject;
this.Grade = Grade ;
// ここには戻り値がないことに注意してください
}()) // 括弧内に記述されます。ここでは、新しいインスタンスの作成の後に、式
4. 定義された名前空間オブジェクト
代わりに、グローバル名前空間オブジェクトが定義されている場合、モジュール関数はそのオブジェクトのプロパティを直接設定できます。
// 名前空間オブジェクトが定義されている場合
var school; // 学校の名前空間を作成します
if(!school) school = {};
school.students = {} / / Student 名前空間が定義されています
(function(students) {
// ..... ここではコードは省略します...
// パブリック API をそれにダイレクトします定義された名前空間
students.Subject = Subject;
students.Grade = Grade;
// ここで値を返す必要はありません
})(school.students);
このため、公開APIをエクスポートする方法を説明しました。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP エラーの解決: 指定された名前空間クラスが見つかりません PHP を使用して開発を行っていると、さまざまなエラー メッセージに遭遇することがよくあります。よくあるエラーの 1 つは、「指定された名前空間クラスが見つかりませんでした」です。このエラーは通常、インポートされたクラス ファイルがネームスペースを適切に参照していないことが原因で発生します。この記事では、この問題を解決する方法を説明し、いくつかのコード例を示します。まず、一般的なエラー メッセージの例を見てみましょう: Fatalerror:UncaughtError:C

Redis は、オープンソースの高性能キー/値ストレージ データベースです。データ ストレージに Redis を使用する場合、Redis のパフォーマンスとデータの整合性を維持するために、キーの名前空間と有効期限のメカニズムの設計を考慮する必要があります。この記事では、Redisの名前空間と有効期限の仕組みの設計思想と実装方法を紹介します。 1. Redis 名前空間の設計思想 Redis ではキーを任意に設定できます。さまざまなデータ型の管理と区別を容易にするために、Redis では名前空間の概念が導入されています。人生

F3 フレームワークは、シンプルで使いやすく、柔軟でスケーラブルな PHPWeb フレームワークであり、その名前空間 (Namespace) メカニズムにより、より標準化され、読みやすく、明確なコード構造が提供されます。この記事では、F3 フレームワークで名前空間を使用する方法を説明します。 1. ネームスペースとは何ですか? ネームスペースは、PHP での名前の競合の問題を解決するためによく使用されます。ネームスペースでは、1 つ以上のクラス、関数、または定数をネームスペースにカプセル化できます。これは、それらにプレフィックスを追加するのと同じです。例

C++ は広く使用されている高級プログラミング言語であり、高い柔軟性と拡張性を備えていますが、開発者はエラーを避けるために文法規則を厳密に習得する必要があります。よくあるエラーの 1 つは、「未定義の名前空間の使用」です。この記事では、このエラーの意味、発生理由、および修正方法について説明します。 1. 未定義の名前空間はどのような用途に使用されますか? C++ では、名前空間は再利用可能なコードを編成してモジュール化して読みやすくする方法です。名前空間を使用して同じ名前の関数を作成できます

PHP8 の新機能の例: 名前空間とコードを使用してコード構造をより適切に整理するにはどうすればよいですか?はじめに: PHP8 は PHP プログラミング言語の重要なバージョンであり、多くのエキサイティングな新機能と改善が導入されています。最も重要な新機能の 1 つは名前空間です。ネームスペースは、コードをより適切な構造に編成して、同じ名前のクラス、関数、定数間の競合を回避する方法です。この記事では、名前空間とコードを活用して PHP8 コードをより適切に構造化する方法を見ていきます。

名前空間を使用してカスタム関数を管理することが重要です。これにより、開発者は独自の名前の範囲を作成し、名前の競合を防ぐことができます。手順には、名前空間の作成、use ステートメントを使用した名前空間のインポート、名前空間関数の呼び出しが含まれます。実際のケースでは、MyMath 拡張機能は、名前空間を使用して数学関数を編成し、可読性と保守性を向上させる方法を示しています。

PHP7 の名前空間と自動読み込みメカニズムを使用してコードの構造を整理するにはどうすればよいですか?要約: PHP7 のリリースにより、ネームスペースと自動ロードメカニズムは、PHP 開発において無視できない重要な機能になりました。この記事では、PHP7 の名前空間と自動読み込みメカニズムを使用してコードの構造を整理する方法を紹介し、具体的なコード例で説明します。 1. 名前空間とは何ですか?名前空間は、異なるクラス ライブラリまたはコード ファイル間で発生する可能性のある名前の競合を解決するために PHP7 で導入されたメカニズムです。名前空間経由

PHP5.3 の新機能: 名前空間を使用してクラス名の競合を解決する方法 はじめに: PHP の開発中、プロジェクトがより大きく複雑になるにつれて、クラス名の競合も発生します。この問題を解決するために、PHP5.3 バージョンでは名前空間の概念が導入されました。名前空間は、名前の競合を避けるために、関連するクラス、関数、定数をまとめて整理する方法を提供します。この記事では、PHP 名前空間の概念と、名前空間を使用してクラス名の競合を解決する方法をコード例とともに詳しく紹介します。
