3

わかりましたこれはいくつかのコードです

function myFunc(){
   var myvar = 8;
       function myFunc2(num){
           alert(myvar+num);
       }

   myFunc2(2);

}

myFunc();

頭をすっきりさせたいので、間違っていたら訂正してください

私はすでにスタックオーバーフローの記事をたくさん読みましたが、それをよく理解しているか、もっと読むべきか知りたいです。

私の理解では、舞台裏で何が起こっているかとin global execution context there it creates function object with the nameいうと、myFunc` とその [[scope]] プロパティがグローバル変数オブジェクトに割り当てられているということです。

私が呼び出すmyFuncと、独自の実行コンテキストとアクティベーションオブジェクトが作成され、関数の引数と関数宣言のすべてが行ごとのコード実行の前に初期化されます。

内部関数オブジェクトが作成されると、その内部 [[scope]] プロパティに外部実行コンテキストの変数オブジェクト + グローバル変数オブジェクトの値が割り当てられるため、すべての関数は独自の実行コンテキストを作成しますが、その前にすべての関数の内部 [[scope]] プロパティは最初に割り当てられます。

私はすでにスタックオーバーフローの記事をたくさん読みましたが、それをよく理解しているか、もっと読むべきか知りたいです。

4

1 に答える 1