2016-11-25 1 views
-1

Welcher Ansatz wird empfohlen, um auf andere Funktionsvariablen in einer anderen Funktion zuzugreifen? Meine FunktionA enthält derzeit 25 Variablen und enthält eine komplexe Logik entwickelt. Die Variablen, die sich momentan in FunktionA befinden, sind nur in der FunktionB zugänglich, so dass sie nicht in höheren Bereichen oder globalen Variablen deklarierenkönnen. Irgendwelche Vorschläge die Variablen zugänglich in Funktion B machen nurEmpfohlener Ansatz für den Zugriff auf mehrere Variablen anderer Funktionen

+0

Können Sie ein Codebeispiel angeben? Ist die Rückgabe nicht möglich? – Lain

+0

Wird Funktion A von Funktion B aufgerufen? Funktion B wird von Funktion A aufgerufen? Funktionen A dann B von Funktion C aufgerufen? – fpierrat

+0

Warum senden Sie sie nicht als Parameter an Funktion B? – Weedoze

Antwort

1

Sie return-Anweisung verwenden können mehrere Werte wie diese

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

zurückzukehren Für den Zugriff können Sie

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

verwenden Wenn Sids Lösung nicht Was Sie wollen, da die Frage über die Ausführungsreihenfolge nicht klar ist, könnten Sie immer Ihren eigenen Scope/Namespace erstellen:

;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(); 
Verwandte Themen