我有一个全局数组,包含我目前使用的元素的ID。每一秒我都会运行一个例程来处理这些元素。jQuery对象数组的性能
var ids = ['abc', 'def', 'zyx']
// the following code happens every second
for (var i = 0; i < ids.length; i++) {
el = $("#" + ids[i])
// do stuff with el
}
我的问题:我将遭受显着的性能损失或改善执行以下操作:
var ids = []
ids.push($("#abc"))
ids.push($("#def"))
ids.push($("#zyx"))
for (var i = 0; i < ids.length; i++) {
el = ids[i]
// do stuff with el
}
谢谢,我不知道的是在数组中存储jquery对象的开销。 – 2012-02-02 08:54:47
-1我必须低估这一点,因为它绝对不会提高性能*极大*。有一个改进,这是值得的,但它仍然只是几乎没有明显的。 – Guffa 2012-02-02 09:17:23
好吧,我可以理解也许不是很大,但它似乎是一个首选的方法。另外我不知道jsPerf,所以我发现它是一个有用的答案。 – 2012-02-03 00:11:57