2016-11-25 2 views
-1

他の関数の他の関数変数にアクセスするための推奨されるアプローチは何ですか?私のfunctionAは現在、25の変数を保持し、複雑なロジックを含んでいます。 FunctionAに現在ある変数はfunctionBでのみアクセスされるため、より高いスコープまたはグローバル変数では宣言できません。 SIDSソリューションではない場合、関数B内の変数にアクセスできるようにする任意の提案は、唯一他の関数の複数の変数にアクセスするための推奨アプローチ

あなたがアクセスするには、この

return { 
     A: x, 
     B: y, 
     C: ts, 
     D: z 
    } 

のように複数の値を返すためにreturnステートメントを使用することができます

+0

コード例を教えてください。返品はできませんか? – Lain

+0

関数Aは関数Bによって呼び出されていますか?関数Aが呼び出す関数B?関数A、Bは関数Cから呼び出されますか? – fpierrat

+0

なぜそれらをパラメータとして関数Bに送信しないのですか? – Weedoze

答えて

1

あなたは

p=function B(); 
console.log(p.A) // x 
console.log(p.B) // y 
0

を使用することができますあなたが望むものは、質問が実行順にはっきりしていないので、あなた自身のスコープ/名前空間をいつでも作ることができます:

;var MyLogic = { 
    _V1: null, //Some variables 
    _V2: null, //Some variables 

    //Both functions access the variables in MyLogic 
    FuncA: function(){ 
     console.log(this._V1, this._V2) 
    }, 

    //Both functions access the variables in MyLogic 
    FuncB: function(){ 
     this._V1 = 'hello'; 
     this._V2 = 45.55 
    } 
}; 

MyLogic.FuncB(); 
MyLogic.FuncA(); 
関連する問題