実行コンテキストとは

インターネットには実行コンテキストに関する記事がたくさんありますが、実行コンテキストが何であるかについては非常に明確な記事がたくさんあります。
私の理解について話させてください。
実行コンテキストには次の3つが含まれます。

  1. VO
  2. この
  3. [[範囲]]

なぜこれら3つを含めるのですか?まず、実行コンテキストと呼ばれるものを理解する必要があります。

実行コンテキストは、実行環境とも呼ばれます。それで、環境は何ですか?
ウィキペディアはこれを説明しています:

環境とは、相対的なものであり、中心的なものに関連する周囲のものを指します。

たとえば、このコードでは、各関数は実行可能コードの一部です。
この実行可能コードは、いわゆる中心的なものです。同じ関数が異なる場所で実行され、出力結果が異なります。異なる出力結果につながる周囲のものは、いわゆる環境です。

次のコードがある場合:

function doSomeThing(a){
	console.log(a);
	console.log(global);
	console.log(this);
}

次に、このコードを実行すると、最初にaの値が出力され、次にグローバルオブジェクト、最後にこれが出力されます。

ただし、このコードは異なる場所で実行され、出力は異なります。
たとえば、入力パラメーターaが異なる場合、出力aは異なります。したがって、変数は環境です。すべての変数はまとめて変数オブジェクトと呼ばれ、VO(変数オブジェクト)とも呼ばれます。
また、場所によって、方向も異なります。これは明らかであり、フロントエンドが焦点を当てる必要がある知識のポイントでもあります。
別の実行環境ポインタにリンクするスコープチェーンである[[scope]]もあります。

これらの3つのことにより、各関数は、どの変数にアクセスでき、どのような環境で実行する必要があるかを明確に知ることができます。
これが、実行環境および実行コンテキストと呼ばれる理由です。

おすすめ

転載: www.cnblogs.com/edward-chenyu/p/12750990.html