ホームページ > 記事 > ウェブフロントエンド > jsのコンパイルと実行順序を詳しく解説
JavaScript は、スクリプト タグで区切られてセクションごとに実行されます。各セクションを実行する前に、「プリコンパイル」という 2 つの処理が行われます。1. すべての var 変数の宣言 (最初は未定義)、2. 関数の解析。声明。
「ウィンドウ スコープの a = 1 と var a = 1」の違いについての古典的な記事があります:
a = 1相当于window.a = 1,是动态地为window添加一个成员; var a = 1是在当前作用域(也就是window)下声明一个a,这个声明是在整个作用域内都有效的。 换句话说,其实区别就在于var a = 1比a = 1多了一个声明的行为。
次の例を見てください:
1.
alert(w); alert('ok'); w = 2;
エラー: w が定義されていません
2.
alert(w); alert('ok');var w = 2;は未定義とOKを順番にポップアップします。プリコンパイル中に、変数 w が宣言されます。コードのalert(w) 行が実行されるとき、t にはまだ値が割り当てられていないため、unknown がポップアップ表示されます。
3.
a();function a() {}alert('ok');ポップアップOK。プリコンパイル中に、定義関数ステートメント function a() {} が解析され、スムーズに実行されます。
4.
b();var b = function() {}; alert('ok');bは関数ではないため、実行するとエラーが報告されます。プリコンパイル中に、変数 b = unknown が宣言されました。b() が実行されるとき、a は依然として unknown に等しく、関数ではないため、b() の実行時にエラーが報告されます。
5.
<script type="text/javascript"> c(); alert('first');</script><script type="text/javascript"> alert('second');</script>2 番目のポップアップが表示されます。 JavaScript はセクションごとに実行されるため、最初のセクションが c() に実行されるとエラーが報告され、最初のセクション全体が再度実行されることはなく、2 番目のセクションは正常に実行されます。 関連する推奨事項:
以上がjsのコンパイルと実行順序を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。