理论上,以下哪一项在性能和/或内存方面会更好?换句话说,jQuery是否需要多次选择相同的项目,或者它是否知道过去选择了哪些项目?
我故意让animate没有争论,这是一个纯粹的理论问题。
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
或
var element = $("#someelement");
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
发布于 2010-08-21 05:37:39
当然是选项2。有了选项1,jQuery必须在每个动画之前找到DOM中的元素。
使用选项2,元素被“缓存”在变量中,不需要再次遍历DOM。
https://stackoverflow.com/questions/3535033
复制相似问题