为了账号安全,请及时绑定邮箱和手机立即绑定

为什么全局变量被认为是糟糕的做法?

为什么全局变量被认为是糟糕的做法?

LEATH 2019-06-25 15:24:37
为什么全局变量被认为是糟糕的做法?我一直看到警告不要在JavaScript中使用全局变量,但是人们说这是因为全局名称空间阻塞了,这似乎是唯一的原因。我可以想象,通过将所有变量放入一个大对象中,可以很容易地解决这个问题。现在的问题是:除了方便起见,还有其他原因不使用全局变量吗?是否涉及到性能或兼容性问题?
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

它们使全局命名空间混乱,查找速度比局部变量慢。

首先,拥有许多全局变量总是一件坏事,因为很容易忘记您在某个地方声明了一个变量,并意外地在其他地方重新声明了它。如果第一个变量是本地变量,那么就没有问题。如果它是全球性的,那么它就被改写了。当你进入隐含的全局(例如,当你说someVar = someValue而不声明某人var关键字)。

其次,全局变量比局部变量要花费更长的时间才能找到Javascript。速度上的差别不是很大,但是是吗?存在。


查看完整回答
反对 回复 2019-06-25
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

全局变量可以显著增加耦合,显著降低代码的可伸缩性和可测试性。一旦您开始使用globals,您现在必须知道变量的修改位置和方式(即破坏封装)。大多数文献和惯例都会认为,在使用globals时,性能是您最不关心的问题。


查看完整回答
反对 回复 2019-06-25
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

如果您的脚本很长,并且您使用了来自许多函数的这些变量,那么它将增加您的调试时间,因为全局变量的值可能已经从任何地方更改,所以如果您要跟踪这些变量更改到非预期值的位置,则必须全部检查它们。

如果不同的程序员从页面中包含的其他脚本修改这个变量,那么这个场景就更痛苦了。


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 494 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信