JavaScript 循环中不使用 break 语句停止循环的技巧
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;
}
}
}
解释:
- 初始化一个标志变量
stop并将其设置为false。 - 在循环中,检查
stop的值。如果stop为true,则结束循环。 - 在
img.onerror事件处理程序中,当发生错误时,将stop设置为true,从而结束循环。
通过使用标志变量,我们可以在不使用 break 语句的情况下停止循环,并使代码更具可读性和可维护性。
原文地址: https://www.cveoy.top/t/topic/qfiJ 著作权归作者所有。请勿转载和采集!