在不使用全局变量的情况下从其他函数访问变量

我从各种各样的地方听说全局变量本质上是讨厌和邪恶的,但是当做一些非面向对象的Javascript时,我看不出如何避免它们。假设我有一个使用随机数和东西使用复杂算法生成数字的函数,但我需要在其他函数中继续使用该特定数字,这是一个回调或其他函数,因此不能成为同一函数的一部分。


如果最初生成的数字是局部变量,那么就无法访问它。如果函数是对象方法,我可以将数字作为属性,但它们不是,并且看起来有点过于复杂,以改变整个程序结构来执行此操作。全局变量真的如此糟糕吗?


慕容708150
浏览 432回答 3
3回答

三国纷争

我想在这里你最好的选择可能是定义一个单一的全球范围的变量,并且有倾倒的变量:var MyApp = {}; // Globally scoped objectfunction foo(){    MyApp.color = 'green';}function bar(){    alert(MyApp.color); // Alerts 'green'} 做上述事情的人不应该对你大喊大叫。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript