在Javascript中使用全局变量作为缓存是好的吗?

在Javascript中使用全局变量作为缓存是好的吗?,javascript,caching,Javascript,Caching,我有一个疑问,我正在用javascript创建一些应用程序,但如果我正确地声明了全局变量,我就不会这样做,例如: var aux; 然后将其用作我所有函数的缓存: function something (data) { aux = 2 * data; return aux; } something2 function () { aux = something (5); } something3 function () { aux = "something else"; } 我这样做是为了

我有一个疑问,我正在用javascript创建一些应用程序,但如果我正确地声明了全局变量,我就不会这样做,例如:

var aux;
然后将其用作我所有函数的缓存:

function something (data) {
aux = 2 * data;
return aux;
}

something2 function () {
aux = something (5);
}

something3 function () {
aux = "something else";
}

我这样做是为了声明变量“aux”并在许多地方将其用作缓存,但这很好,还是需要为每个使用的函数创建单独的变量?

一般来说,您不想“污染全局名称空间”。它会影响性能,并且还会导致以后出现问题(例如,如果重新使用该变量名)

考虑一下如何重写代码,使其不使用全局变量。通常是有办法的。你也应该熟悉生活的概念-

它是

尽管你可以这么做

return aux = 2 * data
或者,如果您不需要将值存储在aux中,您可以

return 2 * data

全局缓存变量实际上会减慢脚本的执行速度,而使用全局变量通常被认为是一种不好的做法。因此,只需使用局部变量即可。
return 2 * data