2010-11-24 93 views
1

我用来分别存储变量,例如,如果我有一个旧元素,我将它保存在一个名为“ele_old”的变量中,然后如果我有一个新元素,我将它保存在名为“ele_new” 。然而,它只是发生,我认为我可以保存2个变量在1个数组变量,所以我可以做这样的事情:javascript:变量数组或变量?

eles_arr['old'] = //old element; 
eles_arr['new'] = //new element; 

这种方式可以让我把相同类型的变量在同一阵列为了更好的组织,例如元素一起放在1个数组中,然后在另一个数组中一起ids。

问题是我对JavaScript(和任何其他编程语言,对于这个问题)是相当新的,所以我想知道这是否是一种低劣的方法,而不是将每个变量分开。这样做会导致任何问题吗?例如,运行时性能差?

谢谢!

+0

这两个JavaScript语句之间的HTML标记是什么? – 2010-11-24 13:10:51

+0

@Sime:我觉得BigName不知道如何格式化代码块。我为他编辑过。 – RoToRa 2010-11-24 13:12:51

回答

1

你在做什么是在eles_arr对象上设置属性。这是类似于说:

eles_arr.oldEl = //old element 
eles_arr.newEl = //new element 

它不是将它们存储在一个数组,所以它与具有分离变量 - 他们只是在eles_arr对象分组。把它们放在一个数组中,你会这样做:

eles_arr.push(oldEl); 
eles_arr.push(newEl); 

这就是说我不会把这两个变量放在一个数组中。我会让他们分开以提高可读性。您可能有意义在同一个数组中存在这些值,并且您可能会记住它们的位置。其他开发商可能不会,这可能会导致未来的问题。

最后,对'旧'和'新'两个值的数组不会影响你的情况下的性能,但我仍然不会推荐使用数组来提高可读性。

更新

我改变了变数,从“老”“新”“oldEl”“墩”反思保留关键字森的评论“新” 。

0

您可以使用一个对象来创建一个命名空间/模块,从而降低全局/局部变量的数目:

var eles = {}; 

eles.foo = document.getElementById("foo"); 
eles.bar = document.getElementById("bar"); 

不过那可能才有意义,如果你有一个像20组或更多的元素和你需要他们在各种事件处理程序/功能。在这种情况下,创建eles命名空间并使用所有元素引用填充它是有意义的。