前回の記事「JavaScriptにおけるタイムスタンプの操作方法を簡単に分析してみた(コード付き)」では、jsにおけるタイムスタンプの操作方法について学びました。次の記事では、JS を使用して一般的なモジュールを作成する方法を説明します。一緒にその方法を見てみましょう。
モジュール性の問題は最初から存在しませんでした。WWW
が最初に登場したとき、html
、JavaScript
、CSS
(JS
と CSS
は後に Netscape でブラウザに導入されました) は非常に単純な存在であり、Modular を必要としません。
モジュール化の需要はスケールの産物です。Web ページ
が Web アプリケーション
に進化すると、ブラウザによって処理されるロジックはますます複雑になり、表示スタイルやアニメーションはますます増えており、エンジニアリングに対する要求はますます高くなっています。そこでモジュール化の必要性が生まれました。モジュール化の重要性:
コンポーネントの再利用により、開発コストと保守コストが削減されます
-
コンポーネントは個別に開発され、分業と協力が促進されます
モジュール性は標準に従っており、依存関係の自動管理、コードの最適化、展開を容易にします
JavaScript
は長い間、単純なスクリプトと考えられてきました。言語、実際、状況はずっと前に変わっています。 ECMA-262 (ES6)
文書の最新バージョンでは、JavaScript
が一般的なプログラミング言語であることが強調されています。スクリプト言語ではなく。 shell
などのスクリプト言語は、複雑な機能を実行するために使用されるのではなく、一部の自動制御を実行するためにのみ使用され、モジュール化は必要ありません。複雑なシステムを構築するために使用される汎用プログラミング言語 (Java
など) には、通常、モジュール実装があります。
ES6
より前、JS
言語はモジュール式ではありませんでした。JS
をブラウザ内で実行するだけでなく、コードも管理できるようにする方法より効果的に? 、
そこで CommonJS
が誕生しました。
- この仕様では 3 つのグローバル変数が定義されています。
require,exports,module
require は、 module-
exports 外部公開モジュールのインターフェイスは任意のタイプにできます -
module はモジュールそのものです オブジェクト
が
require
で導入されると、取得されるのはこのモジュールによって公開されるインターフェイス (
) Node.js
は、
内部サポートとは異なり、ブラウザ側で CommonJS
仕様: <pre class='brush:php;toolbar:false;'>var foo = require("foo");
var out = foo.sayName();
module.exports = out;</pre>
を使用します。 CommonJS
、モジュール化する方法は CMD
と AMD
の 2 つの方法があり、主な代表は seajs
と
、両方とも定義します。 グローバル関数定義はモジュールの作成に使用されます: <pre class='brush:php;toolbar:false;'>//CMD
define(function (require, exports, module) {
var foo = require("foo");
var out = foo.sayName();
module.exports = out;
});
//AMD
define(["foo"], function (foo) {
var out = foo.sayName();
return out;
});</pre>
CMD
が CommonJS
のスタイルを完全に保持していることがわかります。
そして、AMD
は、モジュール性を実現するために、依存関係の注入と関数の戻りのより簡潔な方法を使用します。
スタイルの違いは別として、この 2 つの最大の違いは依存モジュールをロードする方法です。CMD
は遅延ロードであり、依存関係は require
の場合にのみロードされます。
また、
はプリロードであり、モジュールを定義するときにすべての依存関係を事前にロードします。
seajs (CMD)
環境と requirejs (AMD)
環境の両方に導入できるようにモジュールを実装する必要があります。 Node.js
(CommonJS)
で使用でき、モジュール性のない環境で
タグを使用してグローバルにインポートすることもできます。
最初にモジュールを作成します<pre class='brush:php;toolbar:false;'>var factory = function () {
var moduleName = {};
return moduleName;
};</pre>
もちろん
出力は任意の値、オブジェクト、クラスなどにすることができます。最初に満足する
Node.js
または ES6
の場合、グローバル変数 module
と
を使用して、<pre class='brush:php;toolbar:false;'>var factory = function () {
var moduleName = {};
return moduleName;
};
if (typeof module !== "undefined" && typeof exports === "object") {
module.exports = factory;
}</pre>
が ## のどこにあるかを判断できます。 #CMD と
AMD では、ファクトリ関数を提供し、モジュールを定義するために
define を渡す必要があります。上記のグローバル変数がなく、# がある場合##define
グローバル変数。AMD
または CMD
だと思います。factory
を define
に直接渡すことができます。
var factory = function () { var moduleName = {}; return moduleName; }; if (typeof module !== "undefined" && typeof exports === "object") { module.exports = factory; } else if (typeof define === "function" && (define.cmd || define.amd)) { define(factory); }
注 : CMD は実際にはリターン モジュール インターフェイスもサポートしているため、両方を互換的に使用できます。
次に、script
タグのグローバル インポートも行う必要があります。モジュールを window
に配置して、モジュールを使用できるようにします。 Node Global オブジェクトはブラウザ内で内部的に使用でき、
Node Global オブジェクトは .js
var global = typeof window !== "undefined" ? window : global;
すぐに実行されるクロージャ関数を使用して、汚染を避けるためにすべてのコードを含めますグローバル空間と
global オブジェクトはクロージャ関数に渡され、最終的には次のようになります: (function (global) { var factory = function () { var moduleName = {}; return moduleName; }; if (typeof module !== "undefined" && typeof exports === "object") { module.exports = factory; } else if (typeof define === "function" && (define.cmd || define.amd)) { define(factory); } else { global.factory = factory; } })(typeof window !== "undefined" ? window : global);注: クロージャの前のセミコロンは穴を埋めるためのものです。前のモジュールの場合、セミコロンが多すぎても問題ありませんが、少ない場合はステートメントが変わる可能性があります。
#その後、喜んで
//Node.js var myModule = require('moduleName') //Seajs define(function(require,exports,module){ var myModule = require('moduleName') }) // Browser global <script src='moduleName.js'></script>
[終了]
JavaScript 上級チュートリアル #
以上がJS を使用して一般的なモジュールを作成する方法を段階的に説明します (詳細なコードの説明)。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









