実行コンテキスト


実行コンテキスト(Execution Context)概念

  • 抽象概念
  • 実行可能コードの記述および区別
  • 実行可能なJavaScriptコードブロックを実行する環境では、ここでいう実行可能コードブロックは、ほとんどの場合関数である.
  • 実行コンテキストを作成します.

  • グローバルコード->グローバル実行コンテキスト

  • eval()関数として実行されるコード

  • 関数のコードを実行するとき
    	대부분의 프로그래머는 함수로 실행 컨텍스트를 만든다.
  • 現在実行されているコンテキストでこのコンテキストに関係のない実行コードが実行されている場合、新しいコンテキストが作成され、そのコンテキストに制御権が移動され、スタックに入ります.
    [はい]
    console.log("1");
    
    function func1(){
      console.log("2");
    }
    
    function func2(){
      console.log("3");
    }
    func2();

    コンテキスト作成プロセスの実行

  • アクティブオブジェクト(変数オブジェクト)
  • チェーン

  • 実行コンテキストを作成すると、JavaScriptエンジンは、そのコンテキストで実行するために必要な情報を含むオブジェクトを作成します->変数、パラメータ、オブジェクト...

    変数の作成

  • を呼び出す関数パラメータは、各加算器を作成し、値を割り当てます.
    (ない場合はundefinedを指定)
  • は、実行コンテキストで定義された変数および関数を作成します.ただし、このプロセスでは、メモリに変数や内部関数を作成するだけで、式が実行される前に初期化は不可能です.
  • this binding(object)がない場合は、グローバルオブジェクト
  • を参照してください.