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

let i = 500;

do {

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

        continue;

    } else {

        para.textContent += i + ', ';

    }

    i--;

} while (i >= 2);

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


九州编程
浏览 90回答 2
2回答

ibeautiful

您的循环不断迭代 -if (isPrime(i) === false) {  //this condition will be true and code keeps looping because you never increment i     continue; }但是,在开始时声明的代码中,无论如何都会不断减少。因此,第一个程序将按预期成功运行,而在第二个程序中,执行永远不会超过第一个条件。i--iif()

忽然笑

初始 i=500 ,进入循环if (isPrime(i) === false) {         continue;     }此条件满足,并转到下一个迭代 i 值是 500 永远
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript