我已经阅读了所有的地方,全局变量不好和替代品应该使用。在 Javascript 中,我应该选择什么解决方案。
我想到的是一个函数,当提供两个参数(function globalVariables(Variable,Value)
)时,看看变量是否存在于一个本地数组中,如果它确实将其值设置为 Value
,否则,将追加 Variable
和 Value
。如果函数调用时没有参数(function globalVariables()
) ,它将返回数组。如果函数只用一个参数(function globalVariables(Variable)
)触发,那么它返回数组中 Variable
的值。
你觉得怎么样? 我想听听你对使用全局变量的替代解决方案和论点。
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".
};
顺便问一下,这是 单例模式吗?
在这个特定的场景中,一个函数可能在某个时间点设置一个变量,很久以后,另一个函数(可能是当用户提交表单时)将需要获取该变量。因此,第一个函数不能将变量作为参数传递给后面的函数,因为它永远不会从第一个函数调用。
谢谢,非常感谢你的帮助!