我从各种各样的地方听说全局变量本质上是讨厌和邪恶的,但是当做一些非面向对象的Javascript时,我看不出如何避免它们。假设我有一个使用随机数和东西使用复杂算法生成数字的函数,但我需要在其他函数中继续使用该特定数字,这是一个回调或其他函数,因此不能成为同一函数的一部分。如果最初生成的数字是局部变量,那么就无法访问它。如果函数是对象方法,我可以将数字作为属性,但它们不是,并且看起来有点过于复杂,以改变整个程序结构来执行此操作。全局变量真的如此糟糕吗?
3 回答

三国纷争
TA贡献1804条经验 获得超7个赞
我想在这里你最好的选择可能是定义一个单一的全球范围的变量,并且有倾倒的变量:
var MyApp = {}; // Globally scoped object
function foo(){
MyApp.color = 'green';
}
function bar(){
alert(MyApp.color); // Alerts 'green'
}
做上述事情的人不应该对你大喊大叫。
添加回答
举报
0/150
提交
取消