全局与局部变量的安全性?
这个问题在这里已经有了答案:
不,函数中的变量a
在函数范围外是不可见的。 如果您尝试访问该变量a
中的代码会显示在其他地方undefined
,因为你刚才声明的变量,但没有任何值分配给它。
让我们来扩展你的例子:
var a;
function myFunction() {
var a = 4;
}
function anotherFunction() {
console.log(a);
}
anotherFunction();
> undefined
当我们调用anotherFunction()
它访问anotherFunction()
声明的a
,它不会从myFunction
看到局部变量a
。 他们完全不同。
这样最好不要使用局部变量。 如果你需要它们,你最好将它们分组在一个对象中,这个对象将具有名称空间的作用:
var allMyLocalVariables = {
a: 'a',
b: 'b'
}
现在你可以像这样访问它们:
console.log(allMyLocalVariables.a);
如果你为你的对象/命名空间选择了一个明智而有意义的名字,它们将与其他变量相撞的概率非常低。
链接地址: http://www.djcxy.com/p/51673.html上一篇: Safety of global vs local variables?
下一篇: How to change the value of variable in a function in javascript?