ホームページ ウェブフロントエンド jsチュートリアル JS モジュールと namespaces_javascript スキルの概要

JS モジュールと namespaces_javascript スキルの概要

May 16, 2016 pm 05:39 PM
名前空間

原因
コードをクラスに編成する重要な理由は、コードをより「モジュール化」し、さまざまなシナリオでコードを再利用できるようにすることです。しかし、コードをモジュール化する唯一の方法はクラスではありません。

一般に、モジュールは独立した 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をエクスポートする方法を説明しました。

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

PHP エラーの解決: 指定された名前空間クラスが見つかりませんでした PHP エラーの解決: 指定された名前空間クラスが見つかりませんでした Aug 18, 2023 pm 11:28 PM

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

F3 フレームワークで名前空間を使用するにはどうすればよいですか? F3 フレームワークで名前空間を使用するにはどうすればよいですか? Jun 03, 2023 am 08:02 AM

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

Redis名前空間と有効期限メカニズムの設計思想と実装方法 Redis名前空間と有効期限メカニズムの設計思想と実装方法 May 11, 2023 am 10:40 AM

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

C++ 構文エラー: 未定義の名前空間が使用されています。どのように対処すればよいですか? C++ 構文エラー: 未定義の名前空間が使用されています。どのように対処すればよいですか? Aug 21, 2023 pm 09:49 PM

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

PHP8 の新機能の例: 名前空間とコードを使用してコード構造をより適切に整理するにはどうすればよいですか? PHP8 の新機能の例: 名前空間とコードを使用してコード構造をより適切に整理するにはどうすればよいですか? Sep 11, 2023 pm 12:22 PM

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

PHP 名前空間エラーを解決し、対応するエラー プロンプトを生成する方法 PHP 名前空間エラーを解決し、対応するエラー プロンプトを生成する方法 Aug 07, 2023 pm 05:16 PM

PHP 名前空間エラーを解決し、対応するエラー メッセージを生成する方法 PHP は、Web アプリケーションの開発に広く使用されているサーバー側スクリプト言語です。 PHP では、ネームスペース (Namespace) はコードを管理および編成するためのメカニズムであり、これにより名前の競合を回避し、コードの可読性と保守性を向上させることができます。ただし、名前空間の定義と使用が複雑なため、エラーが発生することがあります。この記事では、PHP 名前空間エラーを解決し、対応するエラー プロンプトを生成するいくつかの方法を紹介します。 1. ネームスペース

名前空間の冒険: PHP のモジュラーパラダイスを探索する 名前空間の冒険: PHP のモジュラーパラダイスを探索する Mar 10, 2024 am 09:04 AM

名前空間: モジュール性の楽園 ソフトウェア開発において、保守性は重要な要素です。コードベースが拡大し続けるにつれて、複雑さを管理するにはコードを整理してカプセル化することが重要です。 PHP の名前空間はこの目的のために設計されています。ネームスペースの概念 ネームスペースは、論理的に関連する識別子のコレクションです。これは、クラス、関数、定数を特定のドメインに編成するためのメカニズムを提供します。ネームスペースは、各エンティティに一意の名前を与えることで名前の競合を排除し、異なるクラスや関数が同じ名前を持つことを防ぎます。ネームスペースの構文は PHP にあります。ネームスペースはバックスラッシュ () を使用して定義されます: namespaceMyProjectDatabase; 上記のコードは、「MyProject」という名前のファイルを作成します

PHP 5.4 の新機能: 名前空間エイリアスを使用してクラス名の呼び出しを簡素化する方法 PHP 5.4 の新機能: 名前空間エイリアスを使用してクラス名の呼び出しを簡素化する方法 Jul 29, 2023 pm 11:45 PM

PHP 5.4 の新機能: 名前空間エイリアスを使用してクラス名の呼び出しを簡素化する方法 PHP 5.3 で導入された名前空間関数は、コードを編成および管理するためのより良い方法を提供します。関連するクラス、関数、定数を名前空間に編成することで、異なるモジュール間の名前の競合を効果的に回避できます。 PHP5.4 バージョンでは、名前空間エイリアス (namespacealias) の機能が導入され、呼び出しや呼び出しがさらに容易になりました。

See all articles