我从很多地方听说过全局变量本质上是令人讨厌和邪恶的,但是在做一些非面向对象的 Javascript 时,我不知道如何避免它们。假设我有一个函数,它使用一个复杂的算法,用随机数和其他东西生成一个数字,但是我需要在其他函数中继续使用这个特定的数字,这是一个回调函数或其他东西,所以不能成为同一个函数的一部分。
如果最初生成的数字是一个局部变量,则不能从这里访问它。如果这些函数是对象方法,我可以把这个数字作为一个属性,但是它们不是,要改变整个程序结构来实现这一点似乎有点过于复杂。全局变量真的那么糟糕吗?