freeCodeCamp/guide/chinese/certifications/javascript-algorithms-and-d.../debugging/prevent-infinite-loops-with.../index.md

898 B
Raw Blame History

title localeTitle
Prevent Infinite Loops with a Valid Terminal Condition 使用有效的终端条件防止无限循环

使用有效的终端条件防止无限循环

  • 为防止无限循环, while-condition必须达到终止条件才能退出循环。
  • 所以这个挑战中的错误是由于for循环中的条件 - i != 4 - 而发生的。
  • 如果你仔细看看代码:
function myFunc() { 
  for (let i = 1; i != 4; i += 2) { 
    console.log("Still going!"); 
  } 
 } 
  • 您将看到i首先初始化为1并且在循环的每次迭代之后 i递增2。
  • 使用该逻辑,在第一次迭代之后 - i = 3并且第二次迭代i = 5 ,将永远不满足条件i != 4并且将发生无限循环。

解:

function myFunc() { 
  for (let i = 1; i <= 4; i += 2) { 
    console.log("Still going!"); 
  } 
 }