Jquery:为什么要为你只引用一次的东西创建一个变量?

对于这样的事情:

jQuery的:

$(document).ready(function(){ var container = $('.rotate_container'); var images = container.find('img'); container.everyTime(10, function (){ images.each(function() { container.animate({scrollTop: $(this).offset().top - 165}, 2000).delay(1000); }); }); }); 

制作变量“容器”和“图像”的重点是什么? 如果它们每个只使用过一次,那对它有什么帮助呢?

谢谢。

如果您确实只在代码中访问一次元素,那么当然缓存它是没有意义的。

缓存DOM elements的原因是访问它们非常昂贵。

跨越ECMAlandDOMland之间的bridge是最昂贵的部分。 你真的可以将它与一座桥进行比较,每次越过它你都要付出代价。 因此,将这些东西保存在您已经支付过费用的ECMAland中是有意义的。 每次需要时都不要过桥。

在这张照片中你会注意到,如果你只过一次桥,这没关系。

你可以用container.find(’img’)替换images.each。每个,但容器将被引用3次(.everytime,.find(’img’)和.animate)。

这些变量基本上固定了每个定时事件的值。 如果你考虑一下,图像可能会改变,标记可能会被修改等。这将修复后续代码的DOM元素集。 是否合适取决于应用。