javascript - 如果我在我所在的函数上调用 onload 事件,它是否考虑递归?

标签 javascript jquery performance recursion

我有这个代码:

  function lazyCss(gallery) {
    var images = gallery.slider.find('[data-lazy-image]'),
    imageLinks = [],
    imageToLoad = -1;

    for (var i = 0; i < images.length; i++) {
      imageLinks[i] = images.eq(i).data('lazy-image');
      images.eq(i).removeAttr('data-lazy-image');
    }

    function loadImage() {
      imageToLoad++;
      images.eq(imageToLoad).css('background-image', 'url(' + imageLinks[imageToLoad] + ')');
      if (imageToLoad != images.length - 1) {
        $('<img/>').attr('src', imageLinks[imageToLoad]).on('load', loadImage);
      }
    }

    loadImage();
  }

我的问题是:

1) 当我将事件处理程序“loadImage”附加到图像时,它是否会考虑递归,因为我是在该函数内执行此操作?

我担心这段代码会影响我网站的性能,因为递归被认为是不好的。

最佳答案

My questions is:

1) When I attach an event handler "loadImage" to an image, does it consider recursion because I'm doing it inside this function?

不,Question处的JavaScript不执行“递归”。您正在安排可能的函数调用,而不是从函数调用中返回值。

参见

关于javascript - 如果我在我所在的函数上调用 onload 事件,它是否考虑递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45329784/

相关文章:

javascript - "Obect has no method"从回调函数中调用其他函数时

asp.net - 从 Jquery 中的隐藏字段值读取值?

php - 我应该分别存储用户 ID 和个人资料数据(10-15 列)吗?

javascript - 如何从上下文菜单(单击鼠标右键)打开模态框?

javascript - 使用 jQuery,如何检查表格单元格是否为空?

javascript - REST 对 SharePoint 值求和,无需 else if

performance - 将文档作为 Blob 存储在数据库中 - 有什么缺点吗?

javascript - 如何将类作为函数的参数?

javascript - 使用带有到期日期的 jquery

javascript - Webpack - 错误 : Cannot define 'query' and multiple loaders in loaders list