1

次のようなプログラムを書きました。

function a(x,y,z) {
        function b(foo,bar) {};
        function c(foo,bar) {};
        function d(foo,bar) {};
        function e(foo,bar) {};
        function f(foo,bar) {};
}

私はこの方法で関数を呼び出します: for(var i=0; i<5; i++) { charts[i] = a(x[i],y[i],z[i])}

x、y、z は、長さ 5 のグローバル配列といくつかのプロパティです。

これで、ページが読み込まれる前にループが実行され、各配列のすべての関数も期待どおりに実行されます (これらの関数の要素にバインドされたイベント リスナーがあります)。

イベントが呼び出されたときに、ページのロード「後」に b、c、d、e、または f からいくつかのローカル変数にアクセスしたいとします。ここでは「スコープ」について話していると思います。

全体をオブジェクトにする必要がありますか?

また、b、c、e、および f 内にローカル変数があります (ローカルで宣言され、「this」を使用しません)。b、c、d、e、および f によってアクセスされる a の内部にも変数があります (ここでも、「this」を使用せずにローカルで宣言されています)。

ありがとう!

4

2 に答える 2