0

私は現在スコープチェーンについて読んでおり、正しく理解しているかどうかを判断するために、概念の理解を言い換えたいと思いました。

私の理解はこれです:

  1. 新しい関数が初期化されると、この関数のオブジェクトが自動的に作成されます
  2. このオブジェクトには、その関数内で使用される変数を定義するプロパティがあります
  3. このオブジェクトは、作成済みのオブジェクトのチェーンに追加されます
  4. ネストされた関数がいくつかある場合、それらの関数はそれぞれ、スコープ チェーン内の階層オブジェクトを表します。ネストされた関数が深くなればなるほど、その関連オブジェクトはチェーンのさらに下に存在します。(変数を定義するオブジェクト)。

したがって、実際には、関数 1 に関数 2 が含まれ、関数 2 に関数 3 が含まれ、関数 3 が変数にアクセスしようとした場合、インタープリターはスコープ チェーンを上に移動し (独自のローカル スコープから開始)、この変数を見つけようとします。最上位の関数までそうし、最初に見つかったときに停止しますか?

ここで私が完全に間違ったツリーを吠えているのか、それとも私が一般的に正しい軌道に乗っているのかについて、洞察を与えていただければ幸いです。

ありがとう、ジョーダン

4

0 に答える 0