2016-11-25 2 views
-1

Каков рекомендуемый подход для доступа к другим функциональным переменным в другой функции. Моя функция В настоящее время содержит 25 переменных и содержит сложную логику. Переменные, находящиеся в настоящее время в FunctionA, должны быть доступны только в функции B, поэтому не могут объявляться в более высокой области видимости или глобальных переменных. Любые предложения, чтобы сделать переменные доступными в функции B толькоРекомендуемый подход для доступа к нескольким переменным другой функции

+0

Не могли бы вы привести пример кода? Не работает ли возврат? – Lain

+0

Является ли функция A вызванной функцией B? Функция B называется функцией A? Функции A, затем B, вызванные из функции C? – fpierrat

+0

Почему вы не отправляете их функции B в качестве параметров? – Weedoze

ответ

1

Вы можете использовать оператор возврата, чтобы возвращать несколько значений, как этот

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

Для доступа можно использовать

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(); 
Смежные вопросы