为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个脚本代码会创建一个无限循环

为什么这个脚本代码会创建一个无限循环

九州编程 2022-09-23 09:58:55

let i = 500;

do {

    if (isPrime(i) === false) {

        continue;

    } else {

        para.textContent += i + ', ';

    }

    i--;

} while (i >= 2);

如果我将(i--)移动到循环的开头,它效果很好。


查看完整描述

2 回答

?
ibeautiful

TA贡献1655条经验 获得超5个赞

您的循环不断迭代 -

if (isPrime(i) === false) {  //this condition will be true and code keeps looping because you never increment i
    continue;
}

但是,在开始时声明的代码中,无论如何都会不断减少。因此,第一个程序将按预期成功运行,而在第二个程序中,执行永远不会超过第一个条件。i--iif()


查看完整回答
反对 回复 2022-09-23
?
忽然笑

TA贡献1490条经验 获得超5个赞

初始 i=500 ,进入循环

if (isPrime(i) === false) {  
      continue;
    }

此条件满足,并转到下一个迭代 i 值是 500 永远


查看完整回答
反对 回复 2022-09-23
  • 2 回答
  • 0 关注
  • 10 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信