JavaScript 循环中不使用 break 语句停止循环的技巧

在 JavaScript 循环中,我们通常使用 break 语句来提前结束循环。但有时我们可能需要在不使用 break 的情况下停止循环,例如在处理错误时。

解决方案:使用标志变量

我们可以使用一个标志变量来控制循环的结束。当满足条件时,将标志变量设置为 true,循环判断条件中同时判断标志变量的值,如果为 true,则结束循环。

代码示例:

function yeShu(a, b) {
  var stop = false; // 标志变量
  for (var i = 0; i < a; i++) {
    if (stop) {
      // 如果标志变量为true,则结束循环
      break;
    }
    var div = document.createElement('div');
    div.className = 'box';
    document.body.appendChild(div);
    var img = document.createElement('img');
    //img.src='http://img2.manga8.xyz/bzmh/tupian/36111/' + b + '/' + (i + 1) + '.jpg';
    img.src = 'https://jsmov2.a.yximgs.com/ufile/atlas/NTIyMTY0MjM3NzE0OTMwMzcyNF8xNjYwMjc3NDUyMTc3_' + i + '.jpg';
    if (document.getElementsByClassName('box').length > 0) {
      document.getElementsByClassName('box')[i].appendChild(img);
    }
    img.onerror = function() {
      // 发生错误时将标志变量设置为true,结束循环
      stop = true;
    }
  }
}

解释:

  1. 初始化一个标志变量 stop 并将其设置为 false
  2. 在循环中,检查 stop 的值。如果 stoptrue,则结束循环。
  3. img.onerror 事件处理程序中,当发生错误时,将 stop 设置为 true,从而结束循环。

通过使用标志变量,我们可以在不使用 break 语句的情况下停止循环,并使代码更具可读性和可维护性。

JavaScript 循环中不使用 break 语句停止循环的技巧

原文地址: https://www.cveoy.top/t/topic/qfiJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录