ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptを深く理解するシリーズ(11) 実行コンテキスト_javascriptスキル
はじめに
この章から、ECMAScript 標準の理解に関する http://dmitrysoshnikov.com/ ウェブサイトの優れた記事を継続 (翻訳、転載、整理) していきます。
この章で説明するのは、ECMAScript 標準における実行コンテキストと関連するさまざまな種類の実行可能コードです。
原著者: Dmitry A. Soshnikov
初版リリース: 2009-06-26
ロシア語原文: http://dmitrysoshnikov.com/ecmascript/ru-chapter-1-execution-contexts /
英語翻訳: Dmitry A. Soshnikov.
公開日: 2010-03-11
英語翻訳: http://dmitrysoshnikov.com/ecmascript/chapter-1-execution-contexts/
この記事は blog garden justinw の中国語翻訳を参照しており、翻訳者のおかげでいくつかの誤りが修正されました。
コードをコピー
定義
コントローラーは ECMAScript 実行可能コードに切り替わるたびに、実行コンテキストに入ります。実行コンテキスト (略して -EC) は、ECMA-262 標準の抽象概念であり、実行可能コードの概念と区別するために使用されます。
標準仕様では、技術実装の観点から EC の正確なタイプと構造を定義していません。これは、ECMAScript エンジンを具体的に実装するときに考慮すべき問題です。
アクティブな実行コンテキスト グループは論理的にスタックを形成します。スタックの最下位は常にグローバル コンテキストであり、最上位は現在の (アクティブな) 実行コンテキストです。 EC タイプがコンテキストに出入りするときに、スタックは変更 (プッシュまたはポップ) されます。
実行可能コード タイプ
実行可能コード タイプの概念は、実行コンテキストの抽象概念に関連しています。ある時点で、実行可能コードと実行コンテキストが同等になる可能性は十分にあります。
たとえば、実行コンテキスト スタックを配列として定義できます。
ECStack = []
関数が再帰的に呼び出されたり、コンストラクターとして)、または組み込みの eval 関数が機能すると、このスタックがプッシュされます。
グローバル コード
このタイプのコードは「プログラム」レベルで処理されます。たとえば、外部の js ファイルやローカルの <script></script> タグ内のコードを読み込みます。グローバル コードには、関数本体内のコードは含まれません。
初期化 (プログラムの起動) フェーズでは、ECStack は次のようになります: