JavaScript実行コンテキスト

1280 ワード

実行コンテキスト


実行コンテキスト(execution context)は、JavaScriptの動作原理を含む核心概念である.実行コンテキストを正しく理解すると、JavaScriptは、スキャンに基づいて識別子と識別子にバインドされた値(識別子バインド)を管理し、反発の原因、モジュールの操作方法、タスクキューとともに操作されるイベントハンドルと非同期処理の操作方法を理解できます.

ソースコードのタイプ


ECMAScript仕様では、ソースコードを4種類に分類します.4種類のソースコード生成実行コンテキスト.
1.グローバルコード
2.関数コード
3.evalコード
4.モジュールコード

ソースコードの評価と実行


var x;
x = 1;
JavaScriptエンジンは、上記の例を2つのプロセスに分けて処理します.まず、ソースコード評価中の変数宣言varxです.先に実行する.生成された変数識別子xは、コンテキスト管理を実行するscopeに登録され、未定義に初期化される.
ソースコード評価プロセスが終了すると、ソースコードはプロセスを開始します.
ソースコード実行中の変数割当文x=1;のみ実行します.この場合、x変数に値を割り当てるには、まずx変数が宣言された変数であるかどうかを決定します.
このコードを実装するには、スキャン識別子コードの実行順序を管理する必要がある.

コンテキストスタックの実行

const x = 1;

function foo () {
  const y = 2;

  function bar () {
    const z = 3;
    console.log(x + y + z);
  }
  bar();
}

foo(); // 6
ソースコードタイプに分類する場合は、グローバルコードと関数コードからなります.JavaScriptエンジンは、まずグローバルコードを評価し、グローバル実行コンテキストを生成します.そして、関数が呼び出されると、評価関数コードにより関数実行コンテキストが生成される.
このとき生成された実行コンテキストはスタックデータ構造によって管理される.これを実行コンテキストスタックと呼びます.