我有一个疑问,我在javascript中创建了一些应用程序,但是如果我正在以权利声明全局变量,那就不行了:
var aux;
然后将它们用作我所有函数的缓存:
function something (data) {
aux = 2 * data;
return aux;
}
something2 function () {
aux = something (5);
}
something3 function () {
aux = "something else";
}
我做这样的事情声明变量" aux"并且在许多地方使用它作为缓存,但这很好吗?或者我是否需要为每个使用的函数创建单独的变量?
答案 0 :(得分:2)
一般来说,您不希望"污染全局命名空间"。它会阻碍性能,并且以后也会导致问题(比如重用该变量名称)。
考虑如何重写代码以不使用全局变量。通常有一种解决方法。您还应该熟悉IIFE的概念 - http://en.wikipedia.org/wiki/Immediately-invoked_function_expression
它的
return aux
虽然你可以做到
return aux = 2 * data
或者如果您不需要将值存储在辅助中,则可以
return 2 * data