Javascript中用全局变量做缓存好不好?
It is good to use global variables as cache in Javascript?
我有疑问,我正在 javascript 中创建一些应用程序,但如果我正确地声明全局变量则不会,例如:
var aux;
然后将它们用作我所有函数的缓存:
function something (data) {
aux = 2 * data;
return aux;
}
something2 function () {
aux = something (5);
}
something3 function () {
aux = "something else";
}
我做了这样的事情声明变量 "aux" 并在许多地方将其用作缓存,但这很好?还是我需要为每个使用的函数创建单独的变量?
一般来说,你不想"contaminate the global namespace"。它会影响性能,并且还会在以后导致问题(比如是否重用该变量名)。
考虑如何重写代码以不使用全局变量。通常有办法解决它。您还应该熟悉 IIFE 的概念 - http://en.wikipedia.org/wiki/Immediately-invoked_function_expression
是
return aux
虽然你可以做到
return aux = 2 * data
或者如果您不需要将值存储在 aux 中,您可以
return 2 * data
我有疑问,我正在 javascript 中创建一些应用程序,但如果我正确地声明全局变量则不会,例如:
var aux;
然后将它们用作我所有函数的缓存:
function something (data) {
aux = 2 * data;
return aux;
}
something2 function () {
aux = something (5);
}
something3 function () {
aux = "something else";
}
我做了这样的事情声明变量 "aux" 并在许多地方将其用作缓存,但这很好?还是我需要为每个使用的函数创建单独的变量?
一般来说,你不想"contaminate the global namespace"。它会影响性能,并且还会在以后导致问题(比如是否重用该变量名)。
考虑如何重写代码以不使用全局变量。通常有办法解决它。您还应该熟悉 IIFE 的概念 - http://en.wikipedia.org/wiki/Immediately-invoked_function_expression
是
return aux
虽然你可以做到
return aux = 2 * data
或者如果您不需要将值存储在 aux 中,您可以
return 2 * data