Я читал повсюду, что глобальные переменные являются плохими, и следует использовать альтернативы. В Javascript конкретно, какое решение я должен выбрать.
Я думаю о функции, которая при подаче двух аргументов (function globalVariables(Variable,Value)
) выглядит, если Variable существует в локальном массиве, и если она устанавливает значение Value
, else, Variable
и Value
прилагаются. Если функция вызывается без аргументов (function globalVariables()
), она возвращает массив. Возможно, если функция запускается только одним аргументом (function globalVariables(Variable)
), она возвращает значение Variable
в массиве.
Как вы думаете? Я хотел бы услышать ваши альтернативные решения и аргументы для использования глобальных переменных.
Как использовать globalVariables();
function append(){
globalVariables("variable1","value1"); //globalVariables() would append variable1 to it local array.
};
function retrieve(){
var localVariable1 = globalVariables("variable1"); //globalVariables() would return "value1".
};
function retrieveAll(){
var localVariable1 = globalVariables(); //globalVariables() would return the globalVariable() entire, local [persistently stored between calls] array.
};
function set(){
globalVariables("variable1","value2"); //globalVariables() would set variable1 to "value2".
};
Является ли это Singleton Pattern BTW?
В этом конкретном сценарии функция может установить переменную в один момент времени, а намного позже другая функция, возможно, когда пользователь отправит форму, должен будет получить эту переменную. Поэтому первая функция не может передать переменную в качестве аргумента для более поздней функции, поскольку она никогда не будет вызвана из первого.
Спасибо, я ценю всю вашу помощь!