为什么闭包比保留变量的全局变量更好?

Jam*_*air 6 javascript closures

我理解JavaScript中的闭包是如何工作的,但我的问题是为什么你会遇到制作闭包以保存变量的所有麻烦?难道你不能让变量全局化吗?或者这会使全局范围变得混乱并使您的代码容易出错.

Bri*_*per 7

这是一个范围问题.全局变量就是:全球,对每个人而言.通过闭合,可以更好地控制变量的范围(可见性),这意味着可以更好地控制可能的非预期副作用.

http://en.wikipedia.org/wiki/Global_variable

[Globals]通常被认为是不好的做法,正是因为它们的非本地性:全局变量可以从任何地方修改(除非它们驻留在受保护的内存中),并且程序的任何部分都可能依赖于它.因此,全局变量具有创建相互依赖性的无限潜力,并且添加相互依赖性会增加复杂性.看远处的行动