JavaScript の pre-parsing_javascript スキルを理解する
実際、あるいは何らかの現象によって、これが当てはまらないことが証明されています。「JavaScript 決定版ガイド」および関連するオンライン情報を通じて、JavaScript には「事前解析」動作があることがわかりました。この機能を理解することが重要です。理解していないと、実際の開発中に解決できない多くの問題が発生し、プログラムのバグにつながる可能性があります。この現象を分析するために、また私自身の学習の要約として、この記事は JavaScript の「事前解析」を徐々に理解できるようにします。私の意見が間違っている場合は、修正してください。
(1) JavaScript が実行時に上から下にのみ解析される場合、最初に関数を定義してからそれを呼び出すため、次のコードが正しく実行できることは理解できます。
function showMsg()
{
alert ('This is message');
}
showMsg(); // これはメッセージです
(2) を呼び出した後に関数を定義できることもわかります。次のコードと同様に、正常に動作します。 showMsg() が呼び出されたときに showMsg() がまだ定義されていないように見えますが、正常に動作します。これは、JavaScript が「事前解析」されていることを示しています。
showMsg(); // これはメッセージです。
function showMsg()
{
alert('This is message');
}
(3) 上記は関数の例です。は、通常の変数の別の例です。次の例を実行すると、最初の文の msg が定義されているが初期化されていないことを示す unknown がポップアップ表示されます。これは var msg; と同じです。以下の 2 番目の文をコメントアウトすると、「メッセージが定義されていません」というエラーが報告されます。これは、JavaScript が「事前解析」されていることも示しています。
(4) JavaScript の「事前解析」についての印象を深めるために、別の例を見てみましょう。次のコードでは、ダイアログ ボックスが 2 回表示され、「これはメッセージ 2 です。これはなぜですか?」と表示されていることがわかります。実際、以下では同じ名前の 2 つの関数が続けて定義されており、後の showMsg() は以前に定義された関数を上書きします (JavaScript では、同じ名前の変数にも上書きの問題が発生します)。つまり、最初の showMsg() が定義されます。廃棄されます。 showMsg() の 2 回目の呼び出しで、上で定義したメッセージ 1 関数が呼び出されないのはなぜですか?これは、JavaScript に「準備」動作があることを再度証明しています。
コードをコピー
}
showMsg() // これはメッセージ 2
function showMsg(); 🎜>{
alert('This is message 2');
}
(5) JavaScript の「事前解析」とは、変数または関数を環境に事前に解析することです。それらは呼び出すことができます (変数実行環境)。次のコードは、alert(msg) の前に msg の定義を確認したように見えますが、プログラムは依然として「msg が定義されていません」というエラーを報告します。これは、関数内で定義された変数が関数のプライベート変数であり、呼び出すことができないためです。これは、JavaScript の「事前解析」が、定義されたすべての変数をウィンドウなどのグローバル オブジェクトに解析することを意味しないことを示しています。
コードをコピー
(6) JavaScript の「事前解析」はセクションで実行されます。正確には、<script> ブロックに分かれています。次のコードは同じページの 2 つのスクリプト ブロックにあり、同じ名前の 3 つの関数を定義しています。プログラムの実行結果は、2 番目のスクリプト ブロックの showMsg() が最初の 2 つの showMsg() をカバーしていないのに対し、最初のスクリプト ブロックの 2 番目の showMsg() が最初の showMsg() をカバーしていることを示しています。 <BR><BR><BR></script>
コードをコピー
function showMsg()
{
alert('これはメッセージ 2')
}
script type="text/javascript" >
function showMsg()
{
alert('これはメッセージ 3')
🎜>
著者: WebFlash
出典: http://webflash.cnblogs.com

ホット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)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
