-1

我正在编写 JavaScript 代码,并被告知我不应该更改函数中的全局变量。为什么这会是个问题?有什么标准的替代品吗?

4

2 回答 2

3

在任何语言中,从函数更改全局变量通常会使函数的输出不确定,这使得代码难以遵循并且经常导致不必要的副作用。因此,如果可以通过适当地确定变量的范围,就应该避免它,如果没有看到代码就很难提供帮助

名称破坏也是一个问题。然而,这可以通过命名你的全局变量来轻松解决。

最后,正如您可能知道的那样,因为您的问题确实说“为什么我不应该更改全局变量”,只读全局变量(常量)并不是真正的问题,因为它们不会改变,因此没有任何副作用。

于 2013-03-06T21:15:45.613 回答
0

看这幅漫画

全局变量是线程安全系统的对立面。你不应该拥有它们,但如果你拥有它们,那么只有一个线程应该拥有/更改它们。它们应该始终通过服务层来处理。

于 2013-03-06T21:48:00.183 回答