将元素id与元素对象引用存储到变量中

时间:2013-01-14 15:30:32

标签: javascript performance variables memory-management

我正在编写一个库,我需要存储一些数据才能快速处理DOM元素。我不知道是否应该存储元素ID(字符串)并执行$(document.getElementById(this.idVar)).jqueryMagic()或存储元素对象引用(对象HTML *元素)并执行$(this.eleVar).moreJqueryMagic()。我不介意可读性,我只是想知道每种方法之间的内存空间差异和性能差异。

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果在这个级别上的性能是一个问题,你不应该使用jQuery,这是一个比这样的细节更大的性能。 (这并不是说jQuery很糟糕。你通常会在性能上付出代价,但这通常不是问题。)

如果您多次访问该对象,一般认为存储对象引用会更快,因为您可以消除一定程度的解除引用。

如果使用jQuery,通常应该存储jQuery包装器而不是raw元素,以避免创建冗余包装器:

this.jqVar = $(document.getElementById(this.idVar))
this.jqVar.jqueryMagic()