Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript While循环_Javascript_While Loop_Increment - Fatal编程技术网

JavaScript While循环

JavaScript While循环,javascript,while-loop,increment,Javascript,While Loop,Increment,在之前学习python之后,我最近开始学习JS,在完成了CodeCademy练习之后,我尝试在while循环中进行一些增量实验 let hungerLevel = 5 while (hungerLevel < 9) { if (hungerLevel > 7) { console.log('Time to eat!'); } else { console.log('We can eat later!'); hungerLevel += 1; }

在之前学习python之后,我最近开始学习JS,在完成了CodeCademy练习之后,我尝试在while循环中进行一些增量实验

let hungerLevel = 5

while (hungerLevel < 9) {
  if (hungerLevel > 7) {
    console.log('Time to eat!');
  } else {
    console.log('We can eat later!');
    hungerLevel += 1;
  }
}
这门课程很快就会介绍它的语法,但我很好奇为什么我的代码会抛出一个无限循环。当然,循环应该在3“我们可以稍后再吃!”s 6、7、8和一个“吃的时间!”九点


我知道这不可能是对的,但我不明白为什么不是。

因为当你进入

if (hungerLevel > 7) {
    console.log('Time to eat!');
}
你从不增加你的饥饿水平,所以你的饥饿水平的剩余时间保持在8,你得到无限循环

这样使用,每次递增

让饥饿水平=5 饥饿水平<9{ 如果饥饿水平>7{ 控制台。记录“吃饭时间!”; }否则{ console.log‘我们可以晚点吃’; } 饥饿水平+=1;
} 只有当饥饿水平小于等于7时,你才会增加饥饿水平。你应该移动hungerLevel+=1;在else块之后。

您需要将增量移出if语句

while (hungerLevel < 9) {
  if (hungerLevel > 7) {
    console.log('Time to eat!');
  } else {
    console.log('We can eat later!');
  }
  hungerLevel += 1;
}

如果使用以特定值开始的增量变量,请在每次循环期间对其进行增量,并检查其是否达到结束值,则for循环是作业的正确工具

for (let hungerLevel=5; hungerLevel < 9; hungerLevel++) {
  if (hungerLevel > 7) {
    console.log('Time to eat!');
  } else {
    console.log('We can eat later!');
  }
}

拿一张纸和一支笔,写下每一个执行步骤……哇,我怎么会错过呢?--