He leído por todas partes que se deben usar global variables are bad y alternativas. En Javascript específicamente, ¿qué solución debería elegir?He oído que las variables globales son malas, ¿qué solución alternativa debería usar?
Estoy pensando en una función, que cuando se alimentan con dos argumentos (function globalVariables(Variable,Value)
) mira si existe variable en un array local y si no establece su valor a Value
, de lo contrario, Variable
y Value
se adjuntan. Si se llama a la función sin argumentos (function globalVariables()
) devuelve la matriz. Quizás si la función se dispara con un solo argumento (function globalVariables(Variable)
), devuelve el valor de Variable
en la matriz.
¿Qué opinas? Me gustaría escuchar sus soluciones alternativas y argumentos para usar variables globales.
cómo utilizaría globalVariables();
function append(){
globalVariables("variable1","value1"); //globalVariables() would append variable1 to it's local array.
};
function retrieve(){
var localVariable1 = globalVariables("variable1"); //globalVariables() would return "value1".
};
function retrieveAll(){
var localVariable1 = globalVariables(); //globalVariables() would return the globalVariable()'s entire, local [persistently stored between calls] array.
};
function set(){
globalVariables("variable1","value2"); //globalVariables() would set variable1 to "value2".
};
¿Es esta una Singleton Pattern cierto?
En este escenario específico, una función puede establecer una variable en un punto en el tiempo, y mucho más tarde otra función, tal vez cuando un usuario envía un formulario, necesitará obtener esa variable. Por lo tanto, la primera función no podía pasar la variable como un argumento a la función posterior ya que nunca se llamaría desde la primera.
Gracias, agradezco toda su ayuda!
No creo que entiendas por qué son malos – Yacoby
@Yacoby: Creo que sí [la respuesta de Lee explica mucho], pero si sientes lo contrario, por favor, detalla. ¿Qué solución debería usar en este escenario? –
Tendría que estar de acuerdo con @Yacoby aquí. Está reinventando variables globales en su ejemplo, por lo que volver al paso uno de "las variables globales son malas". – Patrick