目次
: この種の言語には、プログラムの実行時にコンパイル プロセスがありますが、機械語にコンパイルされますが、バイトコードにコンパイルされます。たとえば、Java 言語が実行されている場合、JVM はバイトコードをマシン語に変換します。 JVM は Java 仮想マシンであり、架空のコンピューターです。
現在市場に出ている4大ブラウザ
ホームページ ウェブフロントエンド jsチュートリアル 基礎から熟練まで - JavaScript言語

基礎から熟練まで - JavaScript言語

Jun 26, 2017 am 11:50 AM
javascript js 原理 ベース

JavaScript は、オブジェクト指向機能を備えたインタープリタ型プログラミング言語です。これは、オブジェクトおよび時間駆動型で比較的安全なクライアント側のスクリプト言語です。言語環境で実行する必要がないため、それをサポートするブラウザのみが必要です。その主な目的は、サーバーに送信されるデータを検証し、Web インタラクションを強化し、ユーザー エクスペリエンスを向上させることです。

通訳された言語とコンパイルされた言語の違い

。コンパイル済み言語

: この種の言語には、プログラムの実行時にコンパイル プロセスがありますが、機械語にコンパイルされますが、バイトコードにコンパイルされます。たとえば、Java 言語が実行されている場合、JVM はバイトコードをマシン語に変換します。 JVM は Java 仮想マシンであり、架空のコンピューターです。

ただし、インタープリタ言語のコンパイル効率は、コンパイル言語よりも遅くなります。JavaScript はインタープリタ言語です。 js はブラウザ上でプログラムを解析する際、ブラウザ上で独自の解釈エンジンを使用します。 JavaScript v8 エンジン。ブラウザコアが js をコンパイルしてビューを作成するとき、「字句解析」、「文法解析」、「コード生成」の 3 つの段階を通過する必要があります。これはコンパイル言語の明らかな特徴です。詳細については、『Rhinoceros Book』の第 2 章および『あなたの知らない JavaScript』の第 1 章を参照してください。

JavaコードはJVMによって実行されます

JavaScriptはJavaScriptインタプリタによって実行されます

各ブラウザは異なり、通常は各ブラウザのカーネルに含まれていますブラウザカーネルには通常2つのエンジンが含まれています:

ページレイアウトエンジン

JSエンジン

IEは独自のTridentカーネルを使用します

FireFoxはGeckoカーネルですOperaはPrestoカーネルですSafariはWebkitカーネルを使用します

ChromeはGoogle独自のものです JavaScript V8エンジンはWebkitカーネルを使用しますネルページ レイアウトの場合、JavaScript はスクリプト言語であり、インタプリタ言語でもあります。スクリプト言語はコンパイルする必要がなく、インタプリタによって直接解釈できます。先ほどの JavaScript はコンパイル言語であるという議論から判断すると、JavaScript もコンパイル言語です。スクリプト言語として一般化することはできません。スクリプト言語を理解する方法は簡単です。

xxx.exe というプログラムを作成します。.exe をクリックして、拡張子 .aa を持つファイルを開きます。次に、.aa ファイルを作成するためのルールを指定しました。これは、スクリプトの動作とその関係を示し、プログラムを順番に実行するための命令です。

ブラウザ カーネルにおける JavaScript の関係と原則を理解する

ブラウザのページ解析とレンダリングの原則

:

これについて言えば、Google Chrome のレンダリング エンジンであるおなじみの Webkit について触れなければなりません。他のブラウザのレンダリング エンジンは同じではなく、各ブラウザのコア エンジンに一貫性がないため、ページ構造をレイアウトする HTML コードを作成する過程で、主要なブラウザとの多くの互換性の問題に対処する必要があります。

ブラウザの最も重要かつ核となる部分は、ブラウザ カーネルである解釈エンジンです。 Web ページが適切に動作するには、レンダリング エンジンと解釈エンジンという 2 つのエンジンを使用する必要があります。互換性を記述するさまざまな方法は、これらのブラウザ カーネル エンジンを対象としています。では、現在の主流のブラウザコアは何でしょうか?

現在市場に出ている4大ブラウザ

IE

使用されているブラウザコアはTrident(4つのコアの中で最も遅い)です

ウィンドウの市場シェアにより、IEブラウザの地位のおかげで、この状況のた​​め、Microsoft は長い間 Trident を更新しておらず、解決できない多数のバグやセキュリティ問題を抱えています。 Firefoxブラウザの台頭。ただし、その市場シェアのせいで、現在フロントエンド開発エンジニアにとって最も厄介な互換性の問題は、IE の一部の下位バージョンに関するものです。

FireFox

使用されるブラウザカーネルは Gecko

オープンソースコード、高速な操作と処理速度。オープンソースのものは、大多数の猿にとって常に歓迎されやすいものです。また、Gecko を使用するブラウザは数多くあり、通常は一部の外国のブラウザで使用されています。国内のことはあまり考えないでください!

Webページレイアウトエンジン。簡単に言うと、レンダリング速度を向上させるために高度に最適化されています。とにかく効率と速度が重要です。ただし、メリットとデメリットがあり、互換性を犠牲にして速度が向上します。言うまでもなく、これはすべてのブラウザ コアの中で最も高速に解析される JavaScript です。しかし現在、フロントエンドの開発が非常に速いため、ユーザー エクスペリエンスが優先されており、速度のために互換性を犠牲にすることはできません。 Opera は presto を停止し、Google の Blink カーネルに切り替えました。

Chrome

使用されるブラウザコアは、WebkitレンダリングエンジンJavaScript v8解釈エンジンです

言うべきことは上で説明されているため、ここではこれ以上説明しません。これは Chrome ブラウザの中核でもあり、多くの人がフロントエンドについて学び始めており、ほとんどのフロントエンド エンジニアが好むものです。これは Apple 独自のコアです。 そして、いわゆる「シェルブラウザ」になります。その理由は、Trident はオープンカーネルであるため、国内市場にはこのようなシェルブラウザが多数存在します。たとえば、360、Tencent TT、Cheetah、Aoyou などは、デュアルコアまたはマルチコア方式を使用しており、そのうちの 1 つは Trident コアであり、他のコアは他のコアに追加されます。国内ブラウザメーカーは一般に、この状況をユーザーが切り替えるための「高速ブラウジングモード」と「互換ブラウジングモード」の2種類に分けており、このうちIEカーネルTridentは「互換ブラウジングモード」であるため、国内メーカーが適用している。 IE カーネルのバージョンはそれほど高くなく、Trident の反復更新速度に追いつくことができません。IE カーネルの下位バージョンは小さすぎるため、ユーザーがダウンロードするのに便利です。したがって、これまで、開発当初から広くバンドルされ、インストールされ、使用されてきましたが、セキュリティ上の問題が発生します。众 上記の問題が提起されるにつれて、解決と認識は段階的に行われます。私たちはインタープリター言語とは何か、コンパイル言語とは何かを知っています。私はインタプリタ言語を通じてブラウザ カーネルについて知りました。それらの違いのいくつかは、コードを書くプロセスに密接に関係しています。 Web フロントエンドを学習する過程、または常に自分自身を向上させる過程において、JavaScript を理解し、知ることが最も重要でなければなりません。 JavaScript の開発過程において、集中して JavaScript を勉強する必要があると思ったことのある友人も多いのではないでしょうか?今後、誰かがあなたに相談して、言語を学びたい、または新しい言語をマスターしたいと思ったら、あなたはその人に JavaScript を勧める必要があります。それは JavaScript でなければなりません。最初に JavaScript の開発を推進した jQuery の出現から、人々が JavaScript を真にアクセスできるようにした html5 まで、そして現在は、nodejs に至っています。これは、ほとんどの人の JavaScript に対するこれまでの見方を完全に覆します。これらの新しいフレームワークの登場により、JavaScript はまさに無限の可能性を秘めています。

HTML5 は JavaScript の高度なコンテンツです

HTML5 と聞くと HTML を連想する人がまだたくさんいますが、それらの間には何か相関関係があるのでしょうか?しかし、いくつかの最適化が行われ、いくつかの新しいタグが追加されました。新しいタグは理解するのが難しくなく、使いやすいものになっています。なぜこれらが HTML の基本部分として定義されているのでしょうか。 HTML5 の真の能力は、JavaScript を通じてタグを作成し、カーネルの 2 つの特性を使用してそれぞれ解釈およびレンダリングできることです。Canvas は、アニメーション、特殊効果、ゲームなどの強力な機能でもよく知られています。データの視覚化。すべてを有効にするには、JavaScript とバックグラウンド サポートが必要です。すべては JavaScript のおかげです。 webgl は、HTML5 キャンバス描画 3D 画像効果をサポートしています。 html5の地理的位置支出はLBSアプリケーションなどを通じてブラウザ上に表示されます。 JavaScript と文書データベースの間の接続は、あまりにも多くの不可能を実現しました。 ECMAscript のバージョンは常に反復的に更新されており、vuejs、angularjs、reactjs など、これをベースにした JS フレームワークが多すぎます...

以上が基礎から熟練まで - JavaScript言語の詳細内容です。詳細については、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衣類リムーバー

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)

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

nohupの機能と原理の解析 nohupの機能と原理の解析 Mar 25, 2024 pm 03:24 PM

nohup の役割と原理の分析 Unix および Unix 系オペレーティング システムでは、nohup はバックグラウンドでコマンドを実行するためによく使用されるコマンドです。ユーザーが現在のセッションを終了したり、ターミナル ウィンドウを閉じたりしても、コマンドはまだ実行され続けています。この記事では、nohup コマンドの機能と原理を詳しく分析します。 1. nohup の役割: バックグラウンドでのコマンドの実行: nohup コマンドを使用すると、ターミナル セッションを終了するユーザーの影響を受けることなく、長時間実行されるコマンドをバックグラウンドで実行し続けることができます。これは実行する必要があります

Struts フレームワークの原則と実践についての深い議論 Struts フレームワークの原則と実践についての深い議論 Feb 18, 2024 pm 06:10 PM

Struts フレームワークの原理分析と実践的な調査 JavaWeb 開発で一般的に使用される MVC フレームワークとして、Struts フレームワークは優れた設計パターンとスケーラビリティを備えており、エンタープライズ レベルのアプリケーション開発で広く使用されています。この記事では、Struts フレームワークの原理を分析し、読者がフレームワークをよりよく理解して適用できるように、実際のコード例を使用してそれを検討します。 1. Struts フレームワークの原理の分析 1. MVC アーキテクチャ Struts フレームワークは MVC (Model-View-Con) に基づいています。

MyBatis のバッチ挿入実装原理の深い理解 MyBatis のバッチ挿入実装原理の深い理解 Feb 21, 2024 pm 04:42 PM

MyBatis は、さまざまな Java プロジェクトで広く使用されている人気のある Java 永続層フレームワークです。その中でも、バッチ挿入は、データベース操作のパフォーマンスを効果的に向上させることができる一般的な操作です。この記事では、MyBatis でのバッチ挿入の実装原理を深く調査し、特定のコード例を使用して詳細に分析します。 MyBatis でのバッチ挿入 MyBatis では、通常、バッチ挿入操作は動的 SQL を使用して実装されます。複数の挿入値を含む S を構築することによって

MyBatis ページングプラグインの原理の詳細な説明 MyBatis ページングプラグインの原理の詳細な説明 Feb 22, 2024 pm 03:42 PM

MyBatis は優れた永続層フレームワークであり、XML とアノテーションに基づいたデータベース操作をサポートし、シンプルで使いやすく、豊富なプラグイン メカニズムも提供します。その中でも、ページング プラグインは、よく使用されるプラグインの 1 つです。この記事では、MyBatis ページング プラグインの原理を詳しく説明し、具体的なコード例で説明します。 1. ページング プラグインの原理 MyBatis 自体はネイティブ ページング機能を提供しませんが、プラグインを使用してページング クエリを実装できます。ページング プラグインの原理は主に MyBatis を傍受することです

Linuxのchageコマンドの機能と動作原理の詳細な分析 Linuxのchageコマンドの機能と動作原理の詳細な分析 Feb 24, 2024 pm 03:48 PM

Linuxシステムのchageコマンドは、ユーザーアカウントのパスワード有効期限を変更するコマンドであり、アカウントの最長使用日と最短使用可能日を変更することもできます。このコマンドはユーザー アカウントのセキュリティ管理において非常に重要な役割を果たし、ユーザー パスワードの使用期間を効果的に制御し、システムのセキュリティを強化します。 CHAGE コマンドの使用方法: CHAGE コマンドの基本構文は次のとおりです: chage [オプション] ユーザー名 たとえば、ユーザー「testuser」のパスワードの有効期限を変更するには、次のコマンドを使用できます。

jsとvueの関係 jsとvueの関係 Mar 11, 2024 pm 05:21 PM

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

Linux RPM ツールの機能と原理についての詳細な説明 Linux RPM ツールの機能と原理についての詳細な説明 Feb 23, 2024 pm 03:00 PM

Linux システムの RPM (RedHatPackageManager) ツールは、システム ソフトウェア パッケージのインストール、アップグレード、アンインストール、管理を行うための強力なツールです。これは RedHatLinux システムで一般的に使用されるソフトウェア パッケージ管理ツールであり、他の多くの Linux ディストリビューションでも使用されます。 RPM ツールの役割は非常に重要で、システム管理者とユーザーがシステム上のソフトウェア パッケージを簡単に管理できるようになります。 RPM を通じて、ユーザーは新しいソフトウェア パッケージを簡単にインストールし、既存のソフトウェアをアップグレードできます。

See all articles