検索

JavaScript初心者が知らないこと(1)

Mar 15, 2018 pm 02:55 PM
javascript初心者

1.1 JavaScript の簡単な歴史

1995 年頃、世界の主流の帯域幅は 28.8Kbps でしたが、現在では世界の平均ダウンロード帯域幅は 21.9Mbps です。当時、ネチズンはフォームを送信するたびにサーバーからの応答を受け取るまで長い時間待たなければならず、数分間待った後に特定の項目が不足しているという応答が返されることさえありました。ユーザーエクスペリエンスを向上させるために、ブラウザクライアントに埋め込まれ、簡易的なフォーム判定を実現するスクリプトが誕生しました。それがJavaScriptです。

JavaScript は、1995 年にリリースされる Netscape Navigator 2.0 (NN2.0) のために、Netscape で働いていた Brendan Eich によって初めて開発されました。当時は LiveScript と呼ばれていました。当時非常に人気のあったSun社と提携していたため、当時のトレンドであるJava言語に追いつくために、この言語はJavaScriptと名付けられました。

JavaScript が開始されたとき、より優れたユーザー エクスペリエンスを備えた NN ブラウザーがブラウザー市場を独占し、Microsoft が追いつきました。 IE3 がリリースされたとき、Microsoft は JScript という名前で VBScript をリリースしましたが、これは実際には Netscape の JavaScript (今日の言葉で言えば模倣品) とあまり変わりませんでした。 Microsoft との競争に直面し、Netscape と Sun は、JavaScript を標準化するために JavaScript 草案を ECMA (欧州コンピュータ製造者協会) に提出し、最終的に ECMAScript の最初のバージョン (ECMA-262) を形成しました。

興味深いことに、Netscape が JavaScript を標準化した後、内部問題が発生し、JavaScript 研究が停滞しました。Microsoft はこの機会を利用して、ECMA 仕様に準拠した最初の JavaScript エンジンを組み込んだ IE4 を予定より 1 年早く発売しました。 。さらに、Microsoft システムがコンピュータ オペレーティング システム市場を徐々に占有し、プレインストールされた IE ブラウザの市場シェアも徐々に増加し、NN は市場から締め出され続けています。しかし、最大のライバルを失ったマイクロソフトは開発意欲を失い、インターフェースレンダリングやスクリプト実行の点で互換性がなくなり、ブラウザ史上の奇妙な花となり、フロントエンドの呪いとなった。開発者。

JavaScript の出現以来、JavaScript は単純なデータ検証に限定されず、ブラウザー ウィンドウとそのコンテンツのほぼすべての側面と対話する機能を備えています。 Web の重要な部分である JavaScript の重要性は、モバイル ブラウザや、障害者向けに特別に設計されたブラウザなどの従来型ではないブラウザでも JavaScript をサポートしていることは明らかです。

1.2 JavaScript の実装

通常、JavaScript と CEMAscript は同じ意味として表現されますが、JavaScript の意味は ECMA-262 (単純に ECMA の仕様として理解できます) とは異なります。完全な JavaScript は次の 3 つの部分で構成される必要があります:
☞コア (ECMAscript)
☞ドキュメント オブジェクト モデル (DOM)
☞ブラウザ オブジェクト モデル (BOM)

1.2.1ECMAscript

ECMA-262 で定義された ECMAscript Web ブラウザに依存しません。実際、この言語には入力と出力の定義が含まれていません。 ECMA-262 はこの言語の基礎を定義しており、その上に、より完全なスクリプト言語を構築できます。私たちの一般的なブラウザは、ECMAscript 実装に使用できるホスト環境の 1 つにすぎません。ホスト環境は ECMAscript の実装を提供するだけでなく、言語と環境の間の間接的な対話を促進するためのコア言語への拡張機能も提供します。これらの拡張機能は、ECMAscript のコア タイプと構文を使用して、環境を操作するためのより具体的な機能を提供します。
簡単に言うと、ECMAscript は、標準で指定されたすべての側面を実装する言語の記述です。 JavaScript は ECMAscript を実装します。

1.2.2DOM

DOM (Document Object Model、Document Object Model) は、JavaScript とコンテンツをやり取りするための API です。 Javascript は通常、DOM の操作と対話に使用されるため、JavaScript と DOM はまとめて使用されることがよくあります。
DOM はページ全体を多層ノード構造にマップします。
オンラインで見つけた下の写真を見てください (よく説明されていると思います):

DOM のレベル:
- DOM1 レベル: DOM1 レベルは、DOM コア (コア) と DOM HTML の 2 つのモジュールで構成されます。DOM とコアは、ドキュメントの任意の部分へのアクセスを簡素化するために XML ベースのドキュメント構造をマッピングする方法を指定します。操作する。 DOM HTML モジュールは DOM のコアを拡張し、HTML のオブジェクトとメソッドを追加します。
- DOM1 の主な目的がドキュメント構造をマッピングすることである場合、DOM2 の目的は明らかに、元のマウスとユーザー インターフェイスのイベント、範囲、トラバーサル (DOM ドキュメントを反復する方法)、およびその他のサブディビジョン モジュールを拡張します。 DOM さらに、Tonggu オブジェクト インターフェイスに CSS のサポートが追加され、DOM レベル 1 の DOM コア モジュールも XML 名前空間をサポートするように拡張されました。 DOM2 では次のモジュールが導入されています
☛ DOM View: ユーザーがさまざまなドキュメントビューを追跡するためのインターフェイス
☛ DOM Events: イベントとイベント処理を定義するインターフェイス
☛ DOM Styles: CSS に基づいて要素にスタイルを適用するインターフェイスを定義します
☛DOM のトラバーサルとスコープ: ドキュメントの走査と操作のためのインターフェイスを定義します
- DOM3 は DOM をさらに拡張し、ドキュメントのロードと保存のための統合されたメソッドを導入します - DOM のロードと保存モジュールでドキュメントを検証するための新しいメソッドが定義されています - – 定義済みDOM 検証モジュール内。 DOM3 レベルも DOM コアを拡張し、XML1.0 仕様のサポートを開始します。

1.2.3 ブラウザ オブジェクト モデル (BOM)

基本的に、BOM はブラウザのウィンドウとフレームのみを扱いますが、人々はブラウザのすべての JavaScript 拡張機能も BOM の一部としてカウントすることに慣れています。 ✔ 新しいブラウザウィンドウをポップアップする機能
✔ ブラウザウィンドウを移動、ズーム、閉じる機能
✔ ブラウザの詳細を提供するナビゲータオブジェクト
✔ Cookie のサポート
✔ ブラウザオブジェクトによって読み込まれたページの詳細情報を提供する場所
✔ユーザー モニターの解像度情報の詳細を提供する画面オブジェクト
✔カスタム オブジェクトのサポート

、上記の内容については、次の記事で詳しく説明します

関連する推奨事項:

JavaScript 初心者向けの練習

JavaScript 初心者へのアドバイス: ブラウザーの互換性_基本を気にしないでください

以上がJavaScript初心者が知らないこと(1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. JavaScript:ジョブに適したツールを選択するPython vs. JavaScript:ジョブに適したツールを選択するMay 08, 2025 am 12:10 AM

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScript:それぞれの強みを理解するPythonとJavaScript:それぞれの強みを理解するMay 06, 2025 am 12:15 AM

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

JavaScriptのコア:CまたはCの上に構築されていますか?JavaScriptのコア:CまたはCの上に構築されていますか?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

Python vs. Javascript:どの言語を学ぶべきですか?Python vs. Javascript:どの言語を学ぶべきですか?May 03, 2025 am 12:10 AM

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

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

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

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

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

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

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

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

SublimeText3 Mac版

SublimeText3 Mac版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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