Javascript 设置超时后,我是否必须清除设置超时';你跑了吗?

Javascript 设置超时后,我是否必须清除设置超时';你跑了吗?,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,简单的问题真的,我正在运行一系列超时,但我想确保它们不会减慢页面速度,并且由于某些原因,它们在执行后不会保留在内存中 $projects.each(function(index) { var $this = $(this); window.setTimeout(function() { // animate }, 300 * index); }); // Clear timeouts? 我的猜测是,它们一旦运行就会被销毁,但只是想遵循最佳实践。不,你没有

简单的问题真的,我正在运行一系列超时,但我想确保它们不会减慢页面速度,并且由于某些原因,它们在执行后不会保留在内存中

$projects.each(function(index) {
    var $this = $(this);
    window.setTimeout(function() {
        // animate
    }, 300 * index);
});
// Clear timeouts?

我的猜测是,它们一旦运行就会被销毁,但只是想遵循最佳实践。

不,你没有。间隔计时器(通过“setInterval()”),是,如果您希望它们停止


清除不需要清除的超时是无害的。也就是说,如果你在它运行后清除了它,浏览器不会抱怨。

谢谢@Pointy,非常感谢。我一次显示一个使用超时的项目列表,所以我只是想确保连续运行20个超时不会降低页面速度。但通过事物的声音,每个计时器运行,然后被摧毁。再次感谢。要清除超时,首先必须保留对超时id的引用。;-)@罗布:是的,谢谢,我知道。我本来打算把它们都存储在一个数组中,但似乎没有必要。