0

我听说限制你的全局变量我 javascript。

如果我必须在全局范围内声明变量,那么我将执行以下操作:

var global1 = 0, global2 = 1, global3 = 2, global4 = 3;

这里我有四个全局变量。现在我想限制全局变量的数量并做了这样的事情

var globals = {
    global1 : 0,
    global2 : 1,
    global3 : 2,
    global4 : 3
}

我想知道第二种方法是更好还是一样,因为通过公开变量全局变量,我也公开了其他其他方法。

4

2 回答 2

1

您的方法基本上称为命名空间,并且由大多数大型库完成,例如 jQuery 使用jQuery和/或$保存其所有变量和函数。

减少全局变量数量的主要原因是限制可能的冲突,如果不同的脚本使用相同的变量名。

因此,例如,脚本 Acache为其内部目的定义了一个全局变量。当第二个不相关的脚本 B 需要另一个具有该名称的全局变量时,您将遇到麻烦,因为脚本 B 可能会覆盖脚本 A 的变量。

通过将您的变量(以及函数)放入您自己的全局命名空间中,并使用可能未被任何其他脚本使用的名称,您可以降低上述情况发生的可能性。

于 2012-09-21T10:15:31.700 回答
0

第二种方法名为命名空间,它更好。

var mynamespace = mynamespace || {};

然后你得到对象(如果它存在)或创建一个新对象。

于 2012-09-21T10:16:39.780 回答